JAVA复习习题继承.pdf
《JAVA复习习题继承.pdf》由会员分享,可在线阅读,更多相关《JAVA复习习题继承.pdf(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-类的继承习题类的继承习题一、选择题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 e*tends B B) class B implements A C)class A implements B D)class B e*tends A4. 以下选项中,用于定义接口
2、的关键字是( A)。 Ainterface B) implements C) abstract D) class5. 以下选项中,用于实现接口的关键字是( B)。 Ainterface B) implements C) abstract D) class6. Java 语言的类间的继承的关键字是( B )。A) implements B) e*tends C) class D) public7. 以下关于 Java 语言继承的说法错误的选项是( A )。 A)Java 中的类可以有多个直接父类 B)抽象类可以有子类 C)Java 中的接口支持多继承 D)最终类不可以作为其它类的父类8. 现有两
3、个类 M、N,以下描述中表示 N 继承自 M 的是(D)。 A)class M e*tends N B) class N implements M C)class M implements N D)class N e*tends M9. 现有类 A 和接口,以下描述中表示类实现接口的语句是(A)。 A)class implements B B) class B implements C)class e*tends B D)class B e*tends10. 以下选项中,定义抽象类的关键字是( C)。 Ainterface B) implements C) abstract D) class1
4、1. 以下选项中,定义最终类的关键字是(D)。Ainterface B) implements C) abstract D) final12. 以下选项中,哪个是java 语言所有类的父类(C)AString B) Vector C) Object D) KeyEvent13. java 语言中,用于判断*个对象是否是*个类的实例的运算符是AAinstanceof B) + C) isinstance D) &14. 以下选项中, 表示数据或方法可以被同一包中的任何类或它的子类访问, 即使子类在不同的包中也可以的修饰符是BApublic B) protected C) private D) f
5、inal15. 以下选项中,表示数据或方法只能被本类访问的修饰符是CApublic B) protected C) private D) final16. 以下选项中,接口中方法的默认可见性修饰符是(A)Apublic B) protected C) private D) final17. 以下选项中,表示终极方法的修饰符是: BAinterface B) final C) abstract D) implements18. 以下选项中,定义接口MyInterface 的语句正确的选项是: AAinterface MyInterface B) implements MyInterface C)
6、 class MyInterface D) implements interface My 19. 如果子类中的方法mymethod()覆盖了父类中的方法mymethod(),假设父类方法头部定义如下:voidmymethod(int a),则子类方法的定义不合法的是: CA) public void mymethod(int a) B) protected void mymethod(int a)C) private void mymethod(int a) D) void mymethod(int a). z.欢送共阅二、填空题1. 如果子类中的*个变量的变量名与它的父类中的*个变量完全一
7、样,则称子类中的这个变量_了父类的同名变量。 隐藏2. 属性的隐藏是指子类重新定义从父类继承来的_。 同名变量或属性3. 如果子类中的*个方法的名字、返回值类型和_与它的父类中的*个方法完全一样,则称子类中的这个方法覆盖了父类的同名方法。参数列表4. Java 仅支持类间的_重继承。单重5. 抽象方法只有方法头,没有_。 方法体6. Java 语言的接口是特殊的类,其中包含_常量和_方法。 static(静态 ; abstract(抽象)7. 接口中所有属性均为_、_和_的。(public、static、final)8. 如果接口中定义了一个方法methodA(),一个属性 attA,则一个类
8、 ClassA 要实现这个接口的话,就必须实现其中的_方法。(methodA()9.一个类如果实现一个接口,则它就必须实现接口中定义的所有方法,否则该类就必须定义成_的。(抽象的)10. 如果子类中的*个方法的名字、 _和参数列表与它的父类中的*个方法完全一样, 则称子类中的这个方法覆盖了父类的同名方法。返回值类型11. Java 仅支持类间的单重继承,接口可以弥补这个缺陷,支持_重继承多重12. 在方法头用 abstract 修饰符进展修饰的方法叫做_方法。 抽象13.Java 语言中用于表示类间继承的关键字是_。 e*tends14. 接口中所有方法均为_和_的。(public、abstr
9、act)15. Java 语言中,表示一个类不能再被继承的关键字是_。 final16. Java 语言中,表示一个类 A 继承自父类 B,并实现接口 C 的语句是_。class A e*tends B implements C 。17. 如果子类中的方法pute()覆盖了父类中的方法pute(), 假设父类的pute()方法头部有可见性修饰符public,则 methodS()的可见性修饰符必须是_。 public三、程序阅读题1.现有类说明如下,请答复以下问题:public class A String str1= Hello! t; String str2= How are you ;
10、public String toString( ) return str1+str2; public class B e*tends 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 you)4)假设 b 是类 B
11、的对象,则 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);问题:1)e2.nam
12、e,e2.age,e2.wage 的值各是什么?(山;30;3800.0)2)生成对象 e1、e2 后,e1.No 值为多少?能否通过类名做前缀引用属性No(2; 能)3.阅读程序,答复以下问题。public class InheritTest1public static void main (String args)A aa;B bb;aa=new A( );bb=new B( );aa.show( ); bb.show();class Aint a=1;double d=2.0;void show( )class B e*tends Afloat a=3.0f;String d=Java
13、program.;int b=4;void show( )super.show( );. z.欢送共阅问题:1这是哪一类 java 程序java 应用程序 2类 A 和类 B 是什么关系?类 B 是类 A 的子类3按程序输出的格式写出程序运行后的结果.程序运行结果如下:Class 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=44.现有类说明如下,请答复以下问题:class A int *=10; int getA()return *;class B e*tends A int
14、*=100; int getB()return *;问题:1)类 B 是否能继承类 A 的属性*?能 2)假设 b 是类 B 的对象,则 b.getB()的返回值是什么?1003)假设 b 是类 B 的对象,则 b.getA()的返回值是什么?104)类 A 和类 B 都定义了*属性,这种现象称为什么?属性的隐藏5.有如下源程序,请答复以下问题:class A String s=class A; class B e*tends A String s=class B; public class TypeConvertpublic static void main(String args)B b1
15、,b2=new B();A a1,a2;a1=(A)b2;a2=b2;b1=(B)a1;问题:该程序的四行输出各是什么class Aclass Aclass Bclass B6.现有类说明如下,请答复以下问题:public class A int *=888; String str=I like: ; public String toString() return str+*; -public class B e*tends A String *=java; public String toString() return str+*+ and +super.*; 问题:1)类 A 和类 B 是
16、什么关系?(类 B 是类 A 的子类) 2)类 A 和类 B 都定义了*属性和方法 toString(),这种现象分别称为什么?属性的隐藏和方法的覆盖 3)假设 a 是类 A 的对象,则 a.toString( )的返回值是什么?(I like: 888)4)假设 b 是类 B 的对象,则 b.toString( )的返回值是什么? (I like: java and 888)7.运行类 C 的输出结果是什么?class Apublic A()The default constructor of A is invoked);class B e*tends Apublic B()public c
17、lass Cpublic static void main(String args)B b = new B();8.阅读以下程序写出输出结果:class A String s=class A; void show() class B e*tends A String s=class B; void show() public class TypeConvertpublic static void main(String args)B b1;B b2=new B();. z.欢送共阅A a1,a2;a1=(A)b2;a2=b2; a1.show(); a2.show();b1=(B)a1;);
18、b1.show(); b2.show();答案:class Aclass Bclass Aclass Bclass Bclass Bclass Bclass B四、程序填空题1.下面是一个类的定义,完成程序填空。 Youwrite this.*=*;public class Youwriteint *;_( ) *=0; Youwrite ( int *) _; 2.下面是定义一个接口 ITF 的程序,完成程序填空。interface abstractpublic _ ITF public static final double PI=Math.PI;public _ double area(
19、double a, double b);3.下面是定义一个接口 A 的程序,完成程序填空。 final; public interface A public static _ double PI=3.14159; public abstract double area(double a, double b)_五、编程题简单类的继承:1.定义一个类,描述一个矩形,包含有长、宽两种属性,和计算面积方法。编写一个类,继承自矩形类,同时该类描述长方体,具有长、宽、高属性,和计算体积的方法。-编写一个测试类,对以上两个类进展测试,创立一个长方体,定义其长、宽、高,输出其底面积和体积。public cla
20、ss TestE*tendspublic static void main(String args)LiFangTi f=new LiFangTi();f.length=2;f.width=3;f.height=7;class Ju*ingint length;int width;int findArea()return length*width;class LiFangTi e*tends Ju*ingint height;int findVolume()return findArea()*height;. z.欢送共阅3. 定义一个 Person 类, 它包括的属性有和性别, 为 Pers
21、on 类派生出一个子类 Student 类,为 Student 子类添加两个属性年龄和成绩等级用 A,B,C,D,E 表示,在子类中打印出学生的、性别、年龄及成绩等级。class Personclass Student e*tends Personprotected int age;protected char grade;Student(String name,String se*,int age,char grade)super(name,se*);this.age=age;this.grade=grade;protected String name;protected String se
22、*;Person(String name,String se*)public String toString()String s=new String();s=name+t+se*;return s;this.name=name;this.se*=se*;-void print()String s=new String();s=super.toString();s=s+t+age+t+grade;public class TestPpublic static void main(String args)Student st1=new Student(zhangfei,male,23,E);St
23、udent st2=new Student(liubei,male,25,A);de);4.定义一个类 Rectangle 代表矩形,其中包括计算面积的方法。再定义一个它的子类 Square 代表正方形,其中也包含计算面积的方法。编写一程序,测试新建子类对象的属性和方法。class Rectanglefloat length;float width;Rectangle(float len,float wh)length=len;. z.st1.print();st2.print();欢送共阅class Square e*tends Rectanglepublic class TestRecta
24、ngle类与对象习题类与对象习题一、选择题1 定义类头时,不可能用到的关键字是( B)。width=wh;float getArea()return length*width;float length;Square(float len)float getArea()return super.getArea();super(len,len);length=len;public static void main(String args)Square sq=new Square(5.2f);-A) class B)private C)e*tends D)public2.以下类定义中,不正确的选项是(
25、C)。A) class * . B) class * e*tends y . C) static class * implements y1,y2 . D) public class * e*tends Applet . 3.以下类头定义中,错误的选项是( A)。A)public * e*tends y . B) public class * e*tends y .C)class * e*tends y implements y1 .D)class * .4.设 A 为已定义的类名,以下声明A 类的对象 a 的语句中正确的选项是( D)。 A) float A a; B) public A a
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 复习 习题 继承
限制150内