JAVA基础第4章继承与多态练习题10Word格式.docx
《JAVA基础第4章继承与多态练习题10Word格式.docx》由会员分享,可在线阅读,更多相关《JAVA基础第4章继承与多态练习题10Word格式.docx(18页珍藏版)》请在冰豆网上搜索。
A.两个均通过编译,P2运行时输出Whatafancymethod
B.没一个通过编译
C.两个均通过编译,但P2运行时出错
D.P1通过编译,但P2出现编译错误
2.下列程序运行的结果是(A)。
packagea;
packageb;
publicclassD{
publicstaticvoidmain(Stringargs[]){
System.out.println("
^_^,今天心情不错!
"
A.出现编译错误
B.^_^,今天心情不错!
C.通过编译,运行时出错
D.以上都不对
3.Java的核心类库中哪个包,Java系统能自动引入(B)。
A.java.ioB.java.lang
C.D.java.util
4.下列程序运行结果是(A)。
privateclassBase{
Base(){
inti=100;
System.out.println(i);
}
publicclassPriextendsBase{
staticinti=200;
publicstaticvoidmain(Stringargv[]){
Prip=newPri();
A.编译错误B.200C.100200D.100
5.下列程序运行结果是(C)。
classBase{
A.编译错误B.200C.100200D.100
6.如何定义一个不能有子类的类Key(B)。
A.classKey{}B.finalclassKey{}
C.publicclassKey{}D.classKey{finalinti;
}
7.哪个选项可以做为以下方法的覆盖方法(A)。
publicvoidadd(inta){…}
A.publicvoidadd(intb){…}B.voidadd(inta){…}
C.publicintadd(inta){…}D.publicvoidadd(floata){…}
8.在子类构造方法的哪个地方可以调用超类的构造方法(B)。
A.任何地方
B.构造方法的第一条语句
C.构造方法的最后一条语句
D.不能在子类构造方法中调用超类的构造方法
9.下列程序的运行结果是(C)。
publicclassTest{
publicstaticvoidtest(){
this.print();
publicstaticvoidprint(){
Test"
publicstaticvoidmain(Stringargs[]){
test();
}
A.输出Test
B.无输出结果
C.类编译错误,指示不能在static上下文中使用this
10.设有如下代码:
1.classExample{
2.Stringstr;
3.Example(){
4.str="
example"
;
5.}
6.Example(Strings){
7.str=s;
8.}
9.}
10.classDemoextendsExample{
11.}
12.publicclassTest{
13.publicvoidf(){
14.Exampleex=newExample("
Good"
15.Demod=newDemo("
16.}
17.}
以下哪行将导致错误(D)。
A.第3行B.第6行C.第10行D.第15行
11.在Java中,如下的修饰符不是访问控制修饰符(A)。
A.staticB.publicC.protectedD.private
12.试完成下述程序片段(D)。
publicclassPoint{
intx,y;
publicPoint(intx,inty){
()=x;
()=y;
...
A.Point.xPoint.y
B.无解
C.x1y1
D.this.xthis.y
13.在JAVA中(C)。
A.一个子类可以有多个父类,一个父类也可以有多个子类
B.一个子类可以有多个父类,但一个父类只可以有一个子类
C.一个子类只可以有一个父类,但一个父类可以有多个子类
D.上述说法都不对
14.什么是在子类中创建一个和父类具有一样特征的方法,特征包括方法名字,参数个数,参数类型和方法返回值类型(A)。
A.覆盖(overloading)B.重载(overriding)C.继承(inheritance)D.none
15.哪个关键词在子类中用来访问与父类中一样的方法(A)。
A.superB.thisC.staticD.以上没有
16.哪个关键词用来引用当前类的对象(B)。
17.哪个修饰符定义的方法和变量只在定义它们的类中可见,而在其他的任何类中它们都不可见(C)。
A.protectedB.publicC.privateD.noneoftheabove
18.1.classPerson{
2.publicvoidprintValue(inti,intj){//...}
3.publicvoidprintValue(inti){//...}
4.}
5.publicclassTeacherextendsPerson{
6.publicvoidprintValue(){//...}
7.publicvoidprintValue(inti){//...}
8.publicstaticvoidmain(Stringargs[]){
9.Persont=newTeacher();
10.t.printValue(10);
11.}
12.}
第10行将调用的会是哪个方法(D)。
A.online2B.online3C.online6D.online7
19.以下代码运行结果是(C)。
classBase{}
classSubextendsBase{}
classSub2extendsBase{}
classCEx{
Baseb=newBase();
Subs=(Sub)b;
A.编译通过B.编译错误C.运行异常D.以上都不对
20.设有如下类定义:
classBaseWidget{
Stringname="
BaseWidget"
voidspeak(){
System.out.println("
Iama"
+name);
}
classTypeAWidgetextendsBaseWidget{
TypeAWidget(){
name="
TypeA"
以下哪段代码将正确编译和执行(B)。
A.Objecta=newBaseWidget();
a.speak();
B.BaseWidgetb=newTypeAWidget();
b.speak();
C.TypeAWidgetc=newBaseWidget();
c.speak();
21.设有文件Derived.java中代码如下.
publicclassBaseextendsObject{
StringobjType;
publicBase(){
objType="
IamaBasetype"
publicclassDerivedextendsBase{
publicDerived(){
IamaDerivedtype"
publicstaticvoidmain(Stringargs[]){
DerivedD=newDerived();
编译程序将出现何问题(B)。
A.将创建Base.class和Derived.class两个文件
B.编译程序将指示第1行有问题
C.编译程序将在第7行出错
22.哪种访问组合可放在第3行aMethod前和第8行的aMethod前(C)。
1.classSuperDuper
2.{
3.voidaMethod(){}
4.}
5.
6.classSubextendsSuperDuper
7.{
8.voidaMethod(){}
9.}
A.line3:
public;
line8:
private
B.line3:
protected;
C.line3:
private;
protected
D.line3:
23.以下类:
1.publicclassBase{
2.publicvoidmethod(inti){
3.System.out.print("
Valueis"
+