云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 《JAVA语言程序设计》期末考试试题题库2014 (整理版)

《JAVA语言程序设计》期末考试试题题库2014 (整理版)

  • 62 次阅读
  • 3 次下载
  • 2025/5/4 20:25:42

学习资料收集于网络,仅供参考

字super和this区分,super表示调用父类的方法,而this表示调用的是子类的方法。

6.普通数据类型参数和引用数据类型在方法中的传递有什么不同?

普通数据类型参数的传递采用值传递,在方法中对变量的改变不会影响到主程序的同名变量,引用数据类型在方法中的传递采用地址传递,在方法中对变量的改变使主程序的同名变量发生改变。

7.什么是构造方法?构造方法有什么特点?

构造方法是一种特殊的方法,当用new命令每生成一个实例时,构造方法都会自动执行一次,而无须用户手工引用。

构造方法的特征:具有与类相同的名称,不含返回类型,不能在方法中用return语句返回一个值。 在类实例化时,它会由系统自动调用

8.接口与类有什么不同?与抽象方法存在什么样的关系?

接口(interface)是一种特殊的类,接口是方法定义(即抽象方法)和常量值的集合,只包含常量和方法的定义,没有变量和方法的实现。使用接口的目的是解决Java语言中不支持多重继承的缺陷。

接口中包含若干抽象方法,没有具体的方法。

9、什么是继承?

答:通过必要的说明能够实现某个类无需重新定义就拥有另一个类的某些属性和方法,并把这种关系称为继承,先定义的类称为父类,后定义的类称为子类,并且允许多层的继承关系。

10、请简述重载和重写的区别? 答:方法的重写Overriding和重载Overloading是Java多态性的不同表现。

重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。

如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。

如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回学习资料

值的类型。

五、程序设计题

1、按以下要求编写程序

(1) 创建一个Rectangle类,添加width和height两个成员变量

(2) 在Rectangle中添加两种方法分别计算矩形的周长和面积

(3) 编程利用Rectangle输出一个矩形的周长和面积 解答:

public class Rectangle { float width, height;

public Rectangle(float width, float height) {

this.width = width; this.height = height; }

public float getLength(){ return (this.width + this.height) * 2; }

public float getArea(){

return this.width * this.height; }

public static void main(String [] args) {

Rectangle rect = new Rectangle(10, 20);

System.out.println(\周长是:\ + rect.getLength());

System.out.println(\面积是:\ + rect.getArea()); }

}

2.定义一个日期类,包括年、月、日三个属性和一个方法,用于判断是不是闰年。然后实例化两个对象,今年和明年,并分别给它们赋值。 class DateClass {

学习资料收集于网络,仅供参考 int year,month,day; boolean isLeapYear(){ if

(((year%4==0)||(year0==0))&&(year@0!=0)) return true; else

return false; } }

public class XT {

public static void main(String[] args) { DateClass thisYear,nextYear;

thisYear = new DateClass(); thisYear.year=2005; thisYear.month=4; thisYear.day=5;

nextYear = new DateClass(); nextYear.year=2006; nextYear.month=10; nextYear.day=26;

System.out.println(thisYear.isLeapYear()); System.out.println(nextYear.isLeapYear()); } }

3.编写一个程序实现方法的重载。 class PassCheck { String s,ok;

PassCheck(String s) {

System.out.println(\您设置的字符串是:\ }

PassCheck(String s,String ok){ if (!(s.equals(ok)))

System.out.println(\您设置的字符串有错,正确的应该是:\ }

public class XT003202 {

public static void main(String args[]){ new PassCheck(\

new PassCheck(\ } 学习资料

}

4.编写一个含有抽象方法和一个抽象类的程序。 abstract class ObjectAccess{ //抽象类 int num=0; Object access[]=new Object[20]; abstract void inputToArray(Object o); //抽象方法1 abstract Object outputFromArray(); //抽象方法2 }

5、编写一个程序实现抽象类。

interface Speed { //定义接口

public int Speed(int x,int y);//定义抽象抽象方法 }

class Bus implements Speed { //继承接口

public int Speed(int x,int y) { //实现抽象方法

return x+y; } }

public class XT004201 {

public static void main(String args[]) { int a=10,b=20;

Speed tool=new Bus(); //实例化

System.out.println(\汽车的速度是:\ //调用方法

} }

6、写出利用接口实现多重继承的示意性程序。

interface interface1 {

void method1(); //定义抽象方法method1 }

interface interface2 {

void method2(); //定义抽象方法method2 }

interface interface3 extends interface1,interface2 { void method3(); //定义抽象方法method3 }

学习资料收集于网络,仅供参考

7、编写一个程序,实现包的建立和包的引入。

//建立包的程序:程序名Farmer.java package mypackage; public class Farmer { public String name; public String sex; public int age;

public Farmer(String xm,String xb,int nl){ name=xm; sex=xb; age=nl; } }

//调用包的程序:XT004203.java import mypackage.Farmer; public class XT004203 {

public static void main(String args[]) {

Farmer manager=new Farmer(\李国军\男\

System.out.println(\姓名:\ System.out.println(\性别:\ System.out.println(\年龄:\ } }

8、按以下要求编写程序

(1) 编写Animal接口,接口中声明run() 方法 (2) 定义Bird类和Fish类实现Animal接口 (3) 编写Bird类和Fish类的测试程序,并调用其中的run()方法

解答:

public interface Animal { void run(); }

class Bird implements Animal { public void run() {

System.out.println(\鸟儿在飞...\); } }

class Fish implements Animal { public void run() { 学习资料

System.out.println(\鱼儿在游...\); }

}

public class TestAnimal {

public static void main(String[] args) {

Bird bird = new Bird(); bird.run();

Fish fish = new Fish(); fish.run(); } }

9.编写一个Java Application程序,输入姓名、性别、年龄后系统将用户输入的信息存入一个Vector类对象,然后将这些信息显示出来。 import java.util.*; import java.io.*;

class People { String name; String sex; int age; }

public class XT004302 {

public static void main(String[] args) throws java.io.IOException {

People p = new People(); Vector v = new Vector();

BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); do {

System.out.print(\ p.name = in.readLine();

System.out.print(\ : \ p.sex = in.readLine();

System.out.print(\ : \ p.age = Integer.parseInt(in.readLine()); v.addElement(p);

System.out.println(\

学习资料收集于网络,仅供参考

}while ((char)System.in.read()=='Y' ) ; for (int i=0;i

System.out.println(\+\ sex=\p.sex +\ age=\ } } }

10. 按以下要求编写程序

(1) 编写抽象Person类,类中有保护访问权限的字符串类型属性 name,包含抽象方法getname()。 (2)编写WORK接口,接口中声明working( ) 方法。 (3) 定义Teacher类,从Person类中继承,实现getname()方法,返回name属性;实现WORK接口,在working()方法中输出“正在上课!”。此外,添加两个构造函数,一个带参数,一个不带参数,均能给属性name赋值;添加show(),输出“我是一名老师!”。

(4)定义Student类从Person类中继承,实现getname()方法,返回name属性;实现WORK接口,在working()方法中输出“正在做作业!”。此外,添加两个构造函数,一个带参数,一个不带参数,均能给属性name赋值;添加show(),输出“我是一名学生!”。

(5) 编写Teacher类的测试程序,建立1个对象,通过参数对它初始化,测试类中的所有方法。

学习资料

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

学习资料收集于网络,仅供参考 字super和this区分,super表示调用父类的方法,而this表示调用的是子类的方法。 6.普通数据类型参数和引用数据类型在方法中的传递有什么不同? 普通数据类型参数的传递采用值传递,在方法中对变量的改变不会影响到主程序的同名变量,引用数据类型在方法中的传递采用地址传递,在方法中对变量的改变使主程序的同名变量发生改变。 7.什么是构造方法?构造方法有什么特点? 构造方法是一种特殊的方法,当用new命令每生成一个实例时,构造方法都会自动执行一次,而无须用户手工引用。 构造方法的特征:具有与类相同的名称,不含返回类型,不能在方法中用return语句返回一个值。 在类实例化时,它会由系统自动调用 8.接口与类有什么不同?与抽象方法存在什么

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com