当前位置:首页 > 《java程序设计》期末复习题
A aa; B bb;
aa=new A( ); bb=new B( ); aa.show( ); bb.show(); }}
class A {
int a=1;
double d=2.0; void show( )
{ System.out.println(\}
class B extends A {
float a=3.0f;
String d=\int b=4;
void show( ) {
System.out.println(\super.show( );
System.out.println(\}}
问题:1)这是哪一类java程序 (java应用程序) 2)类A和类B是什么关系 (类B是类A的子类) 3)按程序输出的格式写出程序运行后的结果. (程序运行结果如下: Class A: a=1 d=2.0 Class A: a=1 d=2.0 Class A: a=1 d=2.0
Class B: a=3.0 d=Java program. b=4 ) 26.现有类说明如下,请回答问题: class A {
int x=10;
int getA(){return x;} }
class B extends A {
int x=100;
int getB(){return x;} }
问题:1)类B是否能继承类A的属性x (能)
2)若b是类B的对象,则b.getB()的返回值是什么 (100) 3)若b是类B的对象,则b.getA()的返回值是什么 (10)
13
4)类A和类B都定义了x属性,这种现象称为什么 (属性的隐藏)
27.有如下源程序,请回答问题: class A
{ String s=\class B extends A
{ String s=\
public class TypeConvert {
public static void main(String args[]) {
B b1,b2=new B(); A a1,a2; a1=(A)b2; a2=b2;
System.out.println(a1.s); System.out.println(a2.s); b1=(B)a1;
System.out.println(b1.s); System.out.println(b2.s); }}
问题: 该程序的四行输出各是什么 (class A class A class B class B)
28.现有类说明如下,请回答问题: public class A {
int x=888;
String str=\
public String toString() { return str+x; } }
public class B extends A {
String x=\
public String toString()
{ return str+x+\
问题:1)类A和类B是什么关系 (类B是类A的子类)
2)类A和类B都定义了方法toString(),这种现象称为什么 (方法的覆盖)
14
3)若a是类A的对象,则a.toString( )的返回值是什么 (I like: 888) 4)若b是类B的对象,则b.toString( )的返回值是什么
I like:java and 888
29下面的是关于类及其修饰符的一些描述,不正确的是:( b )。
A、abstract类只能用来派生子类,不能用来创建abstract类的对象。 B、final类不但可以用来派生子类,也可以用来创建final类的对象。 C、abstract不能与final同时修饰一个类。
D、abstract方法必须在abstract类中声明,但abstract类定义中可以没 有abstract方法。
30.设有下面两个赋值语句:
a = Integer.parseInt(“1024”);
b = Integer.valueOf(“1024”).intValue(); 下述说法正确的是( d )。
A、a是整数类型变量,b是整数类对象。 B、a是整数类对象,b是整数类型变量。
C、a和b都是整数类对象并且它们的值相等。 D、a和b都是整数类型变量并且它们的值相等。 31. class X {
Y b = new Y(); X() {
System.out.print(\ } }
class Y { Y() {
System.out.print(\ } }
public class Z extends X { Y y = new Y(); Z() {
System.out.print(\ }
public static void main(String[] args) { new Z(); }} A.Z B.YZ C.XYZ D.YXYZ 答案D
32. 6.关于实例方法和类方法,以下描述正确的是: (D)
A. 实例方法只能访问实例变量
15
B. 类方法既可以访问类变量,也可以访问实例变量 C. 类方法只能通过类名来调用
D. 实例方法只能通过对象来调用 33. 下列关于继承的说法哪个是正确的? B
A.子类只继承父类public方法和属性; B.子类继承父类的非私有属性和方法;
C.子类只继承父类的方法,而不继承父类的属性;’ D.子类将继承父类的所有的属性和方法。
34. 你想要增加一个功能给wait()方法。你将如何来做? d a. 重载wait()方法。 b. 覆盖wait()方法。
c. 不能增加功能,因为他是Object类的成员,而Object类是所有类的基类。 d. 不能增加任何功能,因为wait()已经被最终定义。
练习十一(多态:抽象类和抽象方法,最终类和最终方法,接口)
1. 下列选项中,用于定义接口的关键字是( A).
A)interface B) implements C) abstract D) class 2. 下列选项中,用于实现接口的关键字是( B).
A)interface B) implements C) abstract D) class 3. 抽象方法只有方法头,没有________. (方法体) 4. Java 语言的接口是特殊的类,其中包含______常量和_______方法.(static(静态) ; abstract(抽象))
5. 接口中所有属性均为_________,_________和________的.(public,static,final) 6. 用那个关键字定义抽象类和抽象方法 (abstract)
7. 抽象类只能做为父类吗 (也可以包含抽象方法,做为抽象子类) 8. 可以定义抽象类的对象吗 (不能) 9. 抽象方法能被继承吗 (能)
10. 抽象方法只能存在于抽象类中吗 (是;也可以存在在接口中) 11. 声明为final的方法能在子类中重新定义吗 (不能) 12 用那个关键字定义最终类和最终方法 (final) 13. 最终类能做为父类吗 (不能) 14. 最终方法能被继承吗 (不能)
15. 最终方法只能存在于最终类中吗 (不一定)
16. 声明为 static和private 的方法是final的吗 (不是) 17. 接口中所有方法均为抽象方法吗 (是) 18. 接口中所有方法均为public的吗 (是)
19. abstract 和 final能同时修饰一个类吗 (不能) 20.下面是定义一个接口ITF的程序,完成程序填空. (interface abstract ) public _______ ITF {
public static final double PI=Math.PI;
public ______ doubl e area(double a, double b); }
16
共分享92篇相关文档