C)用来调用父类中隐藏的成员变量 D)以上说法都正确
23、方法的重载指同一个类中多个方法可以使用相同的名字,但是参数的数量或类型必须不完全相同,即参数有所不同。方法重载是Java 实现( )的一种方式。
A)多态性 B)接口 C)封装性 D)继承性 24、为了区分类中重载的同名的不同方法,要求( )。 A) 采用不同的形式参数列表 B) 返回值类型不同 C) 调用时用类名或对象名做前缀 D) 参数名不同 25、下列那些内容是异常的含义:( )。 A)程序的语法错误 B)程序的编译错误
C)程序执行过程的错误 D)程序编译或运行所发生的异常事件
二、填空题(每小题1分,共10分)
1、凡生成StringBuffer一个对象后,还可用 _____________ 方法或ensureCapacity()方法来设定缓存大小。
2、Java 仅支持类间的单重继承,接口可以弥补这个缺陷,支持 __________ 继承。 3、Java集合框架支持三种类型集合:____________、____________和______________。 4、如果子类中的某个方法的名字、__________ 和参数列表与它的父类中的某个方法完全一样,则称子类中的这个方法覆盖了父类的同名方法。
5、程序测试分为静态分析和动态测试。其中 __________ 是指不执行程序,而只是对程序文本进行检查,通过阅读和讨论,分析和发现程序中的错误。
6、在Java的接口中声明的成员变量全部是 ______ ,声明的方法是 ____ 。
7、Java语言中,表示一个类不能再被继承的关键字是 _____________。
8、同一个类中多个方法具有相同的方法名,不同的 _____________称为方法的重载。 9、通过类MyClass中的不含参数的构造方法,生成该类的一个对象obj,可通过以下语句实现:_______________________________。
10、如果子类中的方法compute()覆盖了父类中的方法compute(),假设父类的compute()方法头部有可见性修饰符public,则子类的compute()的可见性修饰符必须是 __________。
三、程序阅读题(每小题4分,共20分)
1、下面是定义一个接口ITF的程序,完成程序填空。 public ___________ ITF {
public static final double PI = Math.PI;
31
public ____________ double area(double a, double b); }
2、下列程序的输出结果是:____________________________。 public class Foo{ }
3、下列程序的输出结果是:____________________________。 class A { int i, j; public A(){ this.i = 0; this.j = 0; }
public void print(){ System.out.println(\}
class B extends A{ int m;
public B (int i, int j, int m){ super(); this.m = m;
static int i=0; static int j=0;
public static void main(String[] args){ }
int i=2; int k=3; { } k = i +j;
System.out.println(\System.out.println(\
int j=3;
System.out.println(\
32
}
public void print(){ System.out.println(\ m=\}
public class C{
public static void main(String args[]){ A a = new A(); B b=new B(1, 2, 3); a.print(); b.print(); } }
4、下列程序的结果:____________________________。 class SuperClass{ int x=10; int y=20;
public void show(){
System.out.println(\我是父类的成员方法!\
} }
class SubClass extends SuperClass{ int z=30; }
public class JC {
public static void main(String[] args) { child.z);
} }
5、写出下列程序的输出结果:____________________________。
SuperClass father = new SuperClass(); SubClass child = new SubClass();
System.out.println(\父类SuperClass成员变量:\System.out.println(\子类SubClass成员变量:\
33
class Circle { }
public class Test{
public static void main(String[] args){
Circle circle1 = new Circle(1); Circle circle2 = new Circle(2);
System.out.println(\ circle1 = \double radius; public Circle(double r){ }
this.radius=r;
+ \ circle2 = \
swap(circle1,circle2);
System.out.println(\ circle1 = \
+ \ circle2 = \ }
四、编程题(共20分)
1、设计一个点类Point,包含两个成员变量x、y分别表示x和y坐标,两个构造方法Point()和Point(int x0,int y0),以及一个movePoint(int dx,int dy)方法实现点的位置移动。编写一个程序,创建两个Point对象p1、p2,分别调用movePoint方法后,打印p1和P2的坐标。
2、编写程序,从输入的字符串中删去所有重复的字符(即每种字符只保留一个)。比如:输入“school”,则删除后的字符串为“schol”。
3、创建一个图书类Book,其属性有书号id、书名name、作者author和出版社press;再声明三个Book对象并赋值;然后依次用Set、List、Map集合来实现对Book对象数据的
public static void swap(Circle x , Circle y){ }
System.out.println(\ x = \ y = \Circle temp = x; x = y; y = temp;
System.out.println(\ x = \ y = \}
34
存储,并输出相应图书信息。
35