JAVA面向对象基础测试题继承封装多态等测试题Word格式文档下载.docx
《JAVA面向对象基础测试题继承封装多态等测试题Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《JAVA面向对象基础测试题继承封装多态等测试题Word格式文档下载.docx(18页珍藏版)》请在冰豆网上搜索。
A.14
B.20
C.10
D.17
正确答案:
B解析:
2.
程序的执行结果是:
()。
publicclassQuestion{
privateintnum;
publicstaticvoidmain(String[]args){
Questionq=newQuestion();
q.num=13;
update(q);
System.out.println(q.num);
publicstaticvoidupdate(Questionq){
q.num=9;
12
A.13
B.9
C.0
D.4
publicclassAnswer{
intscore=20;
Answerans=newAnswer();
ans.add(score);
System.out.println("
main:
score="
+score);
voidadd(intscore){
add:
score="
+score++);
A.
1
add:
score=21
2
main:
score=21
B.
score=20
C.
score=20
D.
D解析:
3.
下列代码编译或运行的结果是:
publicclassSnow{
publicStringjump(intx,inty){
return"
jumpone"
;
publicStringjump(int[]vals){
jumptwo"
Snows=newSnow();
System.out.println(s.jump(4,5));
A.publicStringjump(int[]vals){行,编译出错
B.System.out.println(s.jump(4,5));
行,抛出运行时异常
C.输出:
jumpone
D.输出:
jumptwo
C解析:
4.
关于下列代码说法正确的是:
publicclassStorm{
publicvoidfind(){
publicStringfind(){
find"
publicdoublefind(intx){
return2.0;
A.无编译错误
B.代码publicStringfind(){行,出现编译错误
C.代码publicdoublefind(intx){行,出现编译错误
D.代码return"
行处出现编译错误
5.
请看下列代码:
classClassA{}
classClassBextendsClassA{}
classClassCextendsClassA{}
publicclassTest{
ClassAp0=newClassA();
ClassBp1=newClassB();
ClassCp2=newClassC();
ClassAp3=newClassB();
ClassAp4=newClassC();
<
插入代码>
13
下列选项中放置在<
处,使程序编译正确的是:
A.p0=p1;
B.p1=p2;
C.p2=p4;
D.p2=(ClassC)p1;
A解析:
6.
下列代码的运行结果是:
publicclassAnimal{
publicStringnoise(){
Animal"
Catcat=null;
Animalanimal=newDog();
if(animalinstanceofCat){
cat=(Cat)animal;
System.out.println(cat.noise());
}else{
animalisnotCat'
sinstance"
);
14
15
16
classDogextendsAnimal{
17
18
Dog"
19
20
21
classCatextendsAnimal{
22
23
Cat"
24
25
A.Animal
B.Dog
C.Cat
D.animalisnotCat'
sinstance
7.
请看下列代码编译和运行的结果是:
publicclassTeacher{
privateStringname="
sun"
3
4
Teacher[]teachers=newTeacher[2];
5
System.out.println(teachers[0].name);
6
System.out.println(teachers.length);
7
8
A.sun2
B.null2
C.null1
D.运行时抛出NullPointerException异常
8.
下列代码编译和运行的结果是:
classPerson{
Stringname="
"
publicPerson(Stringname){
this.name=name;
classEmployeeextendsPerson{
StringempNO="
0000"
publicEmployee(StringempNO){
this.empNO=empNO;
publicclassEmployeeTest{
Employeee=newEmployee("
1109"
System.out.println(e.empNO);
A.输出:
0000
B.输出:
1109
C.代码publicEmployee(StringempNO){行,出现编译错误
D.抛出运行时异常
9.
classA{
publicvoidstart(){
AStart"
publicclassBextendsA{
BStart"
((A)newB()).start();
AStart
BStart
AStartBStart
D.编译错误
10.
publicinterfaceA{
publicvoiddoSomething(Stringthing);
interfaceB{
interfaceCextendsA,B{
interfaceD{
publicvoiddoIt(Stringthing);
classAImplimplementsC,D{
publicvoiddoSomething(Stringmsg){}
publicvoiddoIt(Stringthing){}
A.所有类和接口都编译成功
B.接口A编译失败
C.类AImpl编译失败
D.接口C编译失败
11.
在Java中,关于final关键字的说法正确的是:
A.如果修饰局部变量,必须定义时初始化
B.如果修饰类,则该类只能被一个子类继承
C.如果修饰方法,则该方法不能在子类中被覆盖
D.如果修饰方法,则该方法所在的类不能被继承
12.
publicclassCell{
privatefinalintid;
publicCell(intid){
this.id=id;
publicvoidupdateId(intid){
Cellcell=newCell(1001);
cell.updateId(1002);
System.out.println(cell.id);
A.编译错误
B.运行时异常抛出
C.运行后,cell对象属性id的值没有改变,仍然是1001
D.运行后,cell对象属性id的值改变成新的值1002
13.
下列选项中,不属于Java的访问控制修饰符的是:
A.private
B.protected
C.friendly
D.public
14.
下面关于import,class和package的声明顺序正确的是:
A.package,import,class
B.class,import,package
C.import,package,class
D.package,class,import
15.
有一个名为Product的类,下列方法中属于该类的构造方法的是:
A.publicProduct(){}
B.publicProduct(Stringname){}
C.publicvoidProduct(){}
D.publicvoidProduct(Stringname){}
AB解析:
16.
publicclassTetromino{
protectedintmove(intx){
return0;
classTextendsTetromino{
在<
处填入选项中的代码,使T类没有编译错误的是:
A.publicintmove(intx){return0;
}
B.privateintmove(intx){return0;
C.privateintmove(longx){return0;
D.protectedlongmove(intx){return0;
AC解析:
17.
下列关于JVM的内存结构描述正确的是:
A.类的各种信息在堆中保存
B.栈用于存放程序运行过程当中所有的局部变量
C.堆一般用于存储使用new关键字创建的对象
D.类是JVM的内存结构
BC解析:
18.
publicclassFoo{
staticvoidalpha(){/*morecodehere*/}
voidbeta(){/*morecodehere*/}
下列说法正确的是:
A.Foo.beta()是调用beta方法的正确方式
B.Foo.alpha()是调用alpha方法的正确方式
C.beta方法可以直接调用alpha方法
D.alpha方法可以直接调用beta方法
19.
publicclassLine{
privatePointp;
publicLine(){
publicclassPoint{}
处,需要创建Point类的对象,下列选项正确的是:
A.super.p=newPoint();
B.p=super.newPoint();
C.p=newPoint();
D.p=this.newPoint();
CD解析: