JAVA复习题91873(16页).doc
《JAVA复习题91873(16页).doc》由会员分享,可在线阅读,更多相关《JAVA复习题91873(16页).doc(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-JAVA复习题91873-第 16 页类的继承习题一、 选择题1. Java语言的类间的继承关系是( B )。 A) 多重的 B) 单重的 C) 线程的 D) 不能继承 2. 以下关于Java语言继承的说法正确的是( C )。 A)Java中的类可以有多个直接父类 B)抽象类不能有子类 C)Java中的接口支持多继承 D)最终类可以作为其它类的父类3. 现有两个类A、B,以下描述中表示B继承自A的是(D)。 A) class A extends B B) class B implements A C) class A implements B D) class B extends A4. 下
2、列选项中,用于定义接口的关键字是( A)。 A)interface B) implements C) abstract D) class5. 下列选项中,用于实现接口的关键字是( B)。 A)interface B) implements C) abstract D) class6. Java语言的类间的继承的关键字是( B )。 A) implements B) extends C) class D) public 7. 以下关于Java语言继承的说法错误的是( A )。 A)Java中的类可以有多个直接父类 B)抽象类可以有子类 C)Java中的接口支持多继承 D)最终类不可以作为其它类的
3、父类8. 现有两个类M、N,以下描述中表示N继承自M的是(D)。 A) class M extends N B) class N implements M C) class M implements N D) class N extends M9. 现有类A和接口,以下描述中表示类实现接口的语句是(A)。 A) class implements B B) class B implements C) class extends B D) class B extends 10. 下列选项中,定义抽象类的关键字是( C)。 A)interface B) implements C) abstract
4、D) class11. 下列选项中,定义最终类的关键字是(D)。A)interface B) implements C) abstract D) final12. 下列选项中,哪个是java语言所有类的父类(C)A)String B) Vector C) Object D) KeyEvent13. java语言中,用于判断某个对象是否是某个类的实例的运算符是(A)A)instanceof B) + C) isinstance D) &14. 下列选项中,表示数据或方法可以被同一包中的任何类或它的子类访问,即使子类在不同的包中也可以的修饰符是(B)A)public B) protected C)
5、 private D) final15. 下列选项中,表示数据或方法只能被本类访问的修饰符是(C)A)public B) protected C) private D) final16. 下列选项中,接口中方法的默认可见性修饰符是(A)A)public B) protected C) private D) final17. 下列选项中,表示终极方法的修饰符是:(B)A)interface B) final C) abstract D) implements18. 下列选项中,定义接口MyInterface的语句正确的是:(A)A)interface MyInterface B) impleme
6、nts MyInterface C) class MyInterface D) implements interface My 19. 如果子类中的方法mymethod()覆盖了父类中的方法mymethod(),假设父类方法头部定义如下:void mymethod(int a),则子类方法的定义不合法的是:(C)A) public void mymethod(int a) B) protected void mymethod(int a)C) private void mymethod(int a) D) void mymethod(int a)二、 填空题1. 如果子类中的某个变量的变量名与
7、它的父类中的某个变量完全一样,则称子类中的这个变量_了父类的同名变量。(隐藏)2. 属性的隐藏是指子类重新定义从父类继承来的_。(同名变量或属性)3. 如果子类中的某个方法的名字、返回值类型和_与它的父类中的某个方法完全一样,则称子类中的这个方法覆盖了父类的同名方法。(参数列表) 4. Java 仅支持类间的_重继承。(单重)5. 抽象方法只有方法头,没有_。 (方法体)6. Java 语言的接口是特殊的类,其中包含_常量和_方法。(static(静态) ; abstract(抽象)7. 接口中所有属性均为_、_和_的。 (public、static、final)8. 如果接口中定义了一个方法
8、methodA(),一个属性attA,那么一个类ClassA要实现这个接口的话,就必须实现其中的_方法。(methodA()9.一个类如果实现一个接口,那么它就必须实现接口中定义的所有方法,否则该类就必须定义成_的。(抽象的) 10. 如果子类中的某个方法的名字、_和参数列表与它的父类中的某个方法完全一样,则称子类中的这个方法覆盖了父类的同名方法。(返回值类型) 11. Java 仅支持类间的单重继承,接口可以弥补这个缺陷,支持_重继承(多重)12. 在方法头用abstract修饰符进行修饰的方法叫做_方法。(抽象)13.Java语言中用于表示类间继承的关键字是_。(extends)14. 接
9、口中所有方法均为_和_的。 (public、abstract)15. Java语言中,表示一个类不能再被继承的关键字是_。(final)16. Java语言中,表示一个类A继承自父类B,并实现接口C的语句是_。 (class A extends B implements C)。17. 如果子类中的方法compute()覆盖了父类中的方法compute(),假设父类的compute()方法头部有可见性修饰符public,则methodS()的可见性修饰符必须是_。(public)三、 程序阅读题1.现有类说明如下,请回答问题:public class A String str1= Hello!
10、t; String str2= How are you? ; public String toString( ) return str1+str2; public class B extends A String str1=bb,Bill.; public String toString( ) return super.str1+str1; 问题:1)类A和类B是什么关系?(继承关系)2)类A和类B都定义了str1属性和方法toString( ), 这种现象分别称为什么?(属性的隐藏;方法的覆盖)3)若a是类A的对象,则a.toString( )的返回值是什么? (Hello!How are
11、you?)4)若b是类B的对象,则b.toString( )的返回值是什么?(Hello,Bill.)2.现有一个类定义如下,请回答问题: class Employee String name; int age; double wage; static int No=0; Employee(String a1,int a2,double a3) name=a1; age=a2; wage=a3; No+; 在使用该类时,已使用下面语句生成了该类的对象:Employee e1,e2;e1=new Employee(王劲,26,6300);e2=new Employee(张山,30,3800);问
12、题:1)e2.name,e2.age,e2.wage的值各是什么?(张山;30;3800.0)2)生成对象e1、e2后,e1.No值为多少?能否通过类名做前缀引用属性No?(2; 能)3.阅读程序,回答问题。public class InheritTest1 public static void main (String args) 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 A:
13、+ta=+a +td=+d); class B extends A float a=3.0f; String d=Java program.; int b=4; void show( ) System.out.println(Class A: +ta=+super.a +td=+super.d); super.show( ); System.out.println(Class B: +ta=+a +td=+d+tb=+b);问题:1)这是哪一类java程序?(java应用程序) 2)类A和类B是什么关系?(类B是类A的子类)3)按程序输出的格式写出程序运行后的结果.(程序运行结果如下:Clas
14、s A: a=1 d=2.0Class A: a=1 d=2.0Class A: a=1 d=2.0Class B: a=3.0 d=Java program. b=4 )4.现有类说明如下,请回答问题: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)4)类A和类B都定义了x属性,这种现象称为什么?
15、(属性的隐藏)5.有如下源程序,请回答问题:class A String s=class A; class B extends A String s=class B; public class TypeConvertpublic 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);问题: 该程序的
16、四行输出各是什么?(class Aclass Aclass Bclass B)6.现有类说明如下,请回答问题:public class A int x=888; String str=I like: ; public String toString() return str+x; public class B extends A String x=java; public String toString() return str+x+ and +super.x; 问题:1)类A和类B是什么关系?(类B是类A的子类) 2)类A和类B都定义了x属性和方法toString(),这种现象分别称为什么?
17、(属性的隐藏和方法的覆盖) 3)若a是类A的对象,则a.toString( )的返回值是什么?(I like: 888)4)若b是类B的对象,则b.toString( )的返回值是什么? (I like: java and 888)7.运行类C的输出结果是什么?class Apublic A()System.out.println(“The default constructor of A is invoked”);class B extends Apublic B()public class Cpublic static void main(String args)B b = new B()
18、;8.阅读下列程序写出输出结果:class A String s=class A; void show() System.out.println(s);class B extends A String s=class B; void show() System.out.println(s);public class TypeConvertpublic static void main(String args)B b1;B b2=new B();A a1,a2;a1=(A)b2;a2=b2;System.out.println(a1.s); a1.show();System.out.printl
19、n(a2.s); a2.show();b1=(B)a1;System.out.println(b1.s); b1.show();System.out.println(b2.s); b2.show();答案:class Aclass Bclass Aclass Bclass Bclass Bclass Bclass B四、 程序填空题1.下面是一个类的定义,完成程序填空。(Youwrite this.x=x;)public class Youwriteint x;_( ) x=0; Youwrite ( int x) _; 2.下面是定义一个接口ITF的程序,完成程序填空。 (interface
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 复习题 91873 16
限制150内