java面向对象考题和答案.docx
- 文档编号:6059175
- 上传时间:2023-01-03
- 格式:DOCX
- 页数:13
- 大小:17.64KB
java面向对象考题和答案.docx
《java面向对象考题和答案.docx》由会员分享,可在线阅读,更多相关《java面向对象考题和答案.docx(13页珍藏版)》请在冰豆网上搜索。
java面向对象考题和答案
1.下面代码的输出结果是:
publicclassMain{
publicstaticvoidmain(String[]args){
intn=100;
intm=200;
System.out.println(f(n,m));
System.out.println(n);
}
publicstaticintf(intm,intn){
n=m+n;
returnn;
}
}
A.300
300
B.100
100
C.300
100
D.100
300
2.程序执行的结果是:
publicclassTest{
publicstaticvoidmain(String[]args){
intx=6;
Testp=newTest();
p.doStuff(x);
System.out.println("main:
x="+x);
}
voiddoStuff(intx){
System.out.println("doStuff:
x="+x++);
}
}
A.doStuff:
x=7
main:
x=7
B.doStuff:
x=7
main:
x=6
C.doStuff:
x=6
main:
x=7
D.doStuff:
x=6
main:
x=6
3.下列关于JVM的内存结构描述正确的是:
A.类的各种信息在方法区中保存
B.堆用于存放程序运行过程当中所有的局部变量
C.栈用于存储使用new关键字创建的对象
D.数组属于JVM的内存结构
4.下列代码的输出结果是:
publicclassTest{
publicvoidprint(charc){
System.out.println("c");
}
publicvoidprint(inti){
System.out.println("i");
}
publicvoidprint(doubled){
System.out.println("d");
}
publicvoidprint(Strings){
System.out.println("s");
}
publicstaticvoidmain(String[]args){
Testtest=newTest();
test.print('5');
}
}
A.c
B.i
C.d
D.s
5.程序执行的结果是:
publicclassTest{
Stringname="Tom";
publicTest(Stringname){
name=name;
}
publicstaticvoidmain(String[]args){
Testt=newTest("Jack");
System.out.println(t.name);
}
}
A.nullB.Tom
C.JackD.""
6.关于构造方法,下列说法错误的是:
A.构造方法不可以进行方法重写
B.构造方法用来实例化一个新的对象
C.构造方法具有和类名相同的名称
D.构造方法不返回任何数据类型
7.关于Java中继承的特点,下列说法正确的是:
A.使类的定义复杂化
B.Java只支持单继承,不可多继承,但可以通过实现接口来达到多继承的目的
C.子类继承父类的所有成员变量和方法,包括父类的构造方法
D.不可以多层继承,即一个类不可以继承另一个类的子类
8.下列代码运行的结果是:
classFoo{
publicinta;
publicFoo(){
a=3;
}
publicvoidaddFive(){
a+=5;
}
}
classBarextendsFoo{
publicinta;
publicBar(){
a=8;
}
publicvoidaddFive(){
this.a+=5;
}
}
publicclassTestFoo{
publicstaticvoidmain(String[]args){
Foofoo=newBar();
foo.addFive();
System.out.println("Value:
"+foo.a);
}
}
A.Value:
3
B.Value:
8
C.Value:
13
D.Value:
18
9.下列代码编译和运行的结果是:
classPerson{
Stringname="Noname";
publicPerson(Stringnm){
name=nm;
}
}
classEmployeeextendsPerson{
StringempID="0000";
publicEmployee(Stringid){
empID=id;
}
}
publicclassEmployeeTest{
publicstaticvoidmain(String[]args){
Employeee=newEmployee("4321");
System.out.println(e.empID);
}
}
A.输出:
0000
B.输出:
4321
C.代码publicEmployee(Stringid){行,出现编译错误
D.抛出运行时异常
10.下列代码的运行结果是:
publicclassAnimal{
publicStringnoise(){
return"peep";
}
publicstaticvoidmain(String[]args){
Animalanimal=newDog();
Catcat=(Cat)animal;
System.out.println(cat.noise());
}
}
classDogextendsAnimal{
publicStringnoise(){
return"bark";
}
}
classCatextendsAnimal{
publicStringnoise(){
return"meow";
}
}
A.peep
B.bark
C.meow
D.抛出运行时异常
11.下列代码编译和运行的结果是:
publicclassA{
publicvoidstart(){
System.out.println("TestA");
}
}
publicclassBextendsA{
publicvoidstart(){
System.out.println("TestB");
}
publicstaticvoidmain(String[]args){
((A)newB()).start();
}
}
A.输出:
TestA
B.输出:
TestB
C.输出:
TestATestB
D.编译错误
12.请看下列代码:
classOne{
voidfoo(){
}
}
classTwoextendsOne{
//insertmethodhere
}
下列选项中的代码,放置在<插入代码>处无编译错误的是:
A.intfoo(){/*morecodehere*/}
B.protectedvoidfoo(){/*morecodehere*/}
C.publicvoidfoo(){/*morecodehere*/}
D.privatevoidfoo(){/*morecodehere*/}
13.下列选项中,不属于Java的访问修饰符的是:
A.private
B.protected
C.friendly
D.public
14.下列代码的输出结果是:
classFoo{
privateintx;
publicFoo(intx){
this.x=x;
}
publicvoidsetX(intx){
this.x=x;
}
publicintgetX(){
returnx;
}
}
publicclassGamma{
staticFoofooBar(Foofoo){
foo=newFoo(100);
returnfoo;
}
publicstaticvoidmain(String[]args){
Foofoo=newFoo(300);
System.out.print(foo.getX()+"-");
FoofooFoo=fooBar(foo);
System.out.print(foo.getX()+"-");
System.out.print(fooFoo.getX()+"-");
foo=fooBar(fooFoo);
System.out.print(foo.getX()+"-");
System.out.print(fooFoo.getX());
}
}
A.300-100-100-100-100
B.300-300-100-100-100
C.300-300-300-100-100
D.300-300-300-300-100
15.下列代码运行的结果是:
publicclassBase{
publicstaticfinalStringFOO="foo";
16.classSubextendsBase{
publicstaticfinalStringFOO="bar";
}
publicstaticvoidmain(String[]args){
Baseb=newBase();
Subs=newSub();
System.out.print(Base.FOO);
System.out.print(Sub.FOO);
System.out.print(b.FOO);
System.out.print(s.FOO);
System.out.print(((Base)s).FOO);
}
}
A.foofoofoofoofoo
B.foobarfoobarbar
C.foobarfoofoofoo
D.foobarfoobarfoo
16.关于下列代码说法正确的是:
publicclassItemTest{
privatefinalintid;
publicItemTest(intid){
this.id=id;
}
publicvoidupdateId(intnewId){
id=newId;
}
publicstaticvoidmain(String[]args){
ItemTestfa=newItemTest(42);
fa.updateId(69);
System.out.println(fa.id);
}
}
A.编译错误
B.运行时抛出异常
C.运行后,fa对象属性id的值没有改变,应然是42
D.运行后,fa对象属性id的值改变成新的值69
17.请看下列代码编译和运行的结果是:
publicclassStudent{
privateStringname="sun";
publicstaticvoidmain(String[]args){
Student[]students=newStudent[2];
System.out.println(students[0].name);
System.out.println(students.length);
}
}
A.sun2
B.null2
C.null1
D.运行时抛出NullPointerException异常
18.下列代码的输出结果是:
abstractclassVehicle{
publicintspeed(){
return0;
}
}
classCarextendsVehicle{
publicintspeed(){
return60;
}
}
classRaceCarextendsCar{
publicintspeed(){
return150;
}
}
publicclassTestCar{
publicstaticvoidmain(String[]args){
RaceCarracer=newRaceCar();
Carcar=newRaceCar();
Vehiclevehicle=newRaceCar();
System.out.println(racer.speed()+","+car.speed()+","
+vehicle.speed());
}
}
A.0,0,0B.150,60,0
C.150,150,150D.抛出运行时异常
19.请看下列代码:
publicabstractclassEmployee{
protectedabstractdoublegetSalesAmount();
publicdoublegetCommision(){
returngetSalesAmount()*0.15;estA(){
}
}
classSalesextendsEmployee{
<插入代码>
}
在<插入代码>处填入的方法正确的是:
A.doublegetSalesAmount(){return1230.45;}
B.publicdoublegetSalesAmount(){return1230.45;}
C.privatedoublegetSalesAmount(){return1230.45;}
D.protecteddoublegetSalesAmount(){return1230.45;}
20.关于下列代码说法正确的是:
publicinterfaceA{
publicvoiddoSomething(Stringthing);
}
publicclassAImplimplementsA{
publicvoiddoSomething(Stringmsg){
}
}
publicclassB{
publicAdoit(){
returnnull;
}
publicStringexecute(){
returnnull;
}
}
publicclassCextendsB{
publicAImpldoit(){
returnnull;
}
publicObjectexecute(){
returnnull;
}
}
A.所有类和接口都编译成功B.类B编译失败
C.类Aimpl编译失败D.类C编译失败
21.关于下列代码说法正确的是:
interfaceA{
publicvoidaMethod();
}
interfaceB{
publicvoidbMethod();
}
interfaceCextendsA,B{
publicvoidcMethod();
}
classDimplementsB{
publicvoidbMethod(){}
}
classEextendsDimplementsC{
publicvoidaMethod(){}
publicvoidbMethod(){}
publicvoidcMethod(){}
}
A.编译失败
B.如果定义De=newE();,那么e.bMethod();调用D类的bMethod()方法
C.如果定义De=(D)(newE());,那么e.bMethod();调用D类的bMethod()方法
D.如果定义De=(D)(newE());,那么e.bMethod();调用E类的bMethod()方法
22.请看下列代码:
publicclassUserRequest{
publicvoidrequest(ServletActionaction){
action.doService();
}
publicstaticvoidmain(String[]args){
UserRequestuser=newUserRequest();
user.request(newServletAction(){
publicvoiddoService(){
System.out.println("处理请求");
}
});
}
}
如果上述代码采用回调模式编写,下列关于ServletAction的定义正确的是:
A.publicstaticclassServletAction{
publicvoiddoService();
}
B.publicfinalclassServletAction{
publicvoiddoService();
}
C.publicclassServletAction{
publicvoiddoService();
}
D.publicinterfaceServletAction{
publicvoiddoService();
}
23.下列代码运行的结果是:
publicclassHello{
Stringtitle;
intvalue;
publicHello(){
title+="World";
}
publicHello(intvalue){
this.value=value;
title="Hello";
}
publicstaticvoidmain(String[]args){
Helloc=newHello(5);
System.out.println(c.title);
}
}
A.Hello
B.HelloWorld
C.HelloWorld5
D.运行后无输出
24.请看下列代码编译和运行的结果是:
interfaceTestA{
StringtoString();
}
publicclassTest{
publicstaticvoidmain(String[]args){
System.out.println(newTestA(){
publicStringtoString(){
return"test";
}
});
}
}
A.输出:
test
B.输出:
null
C.代码System.out.println(newTestA(){行,编译出错
D.代码publicStringtoString(){行,编译出错
25.请看下列代码:
1)publicclassOuter{
2)voidfn(inti){
3)classInner{
4)voidprint(){
5)System.out.println(i);
6)}
7)}
8)Innerin=newInner();
9)in.print();
10)}
11)}
12)classTest{
13)publicstaticvoidmain(Stringargs[]){
14)Outerout=newOuter();
15)out.fn(100);
16)}
17)}
关于上述代码说法正确的是:
A.在第5行出现编译错误,fn方法的参数必须用final修饰
B.在第3行出现编译错误,在方法的内部不能写类
C.在第8行出现编译错误,在方法的内部不能实例化Inner类的对象
D.运行代码,控制台输出100
A1,正确答案:
C
2,正确答案:
D
3,正确答案:
A
4,正确答案:
A
5,正确答案:
B
6,正确答案:
B
7,正确答案:
B
8,正确答案:
A
9,正确答案:
C
10,正确答案:
D
11,正确答案:
B
12,正确答案:
BC
13,正确答案:
C
14,正确答案:
B
15,正确答案:
D
16,正确答案:
A
17,正确答案:
D
18,正确答案:
C
19,正确答案:
BD
20,正确答案:
D
21,正确答案:
D
22,正确答案:
D
23,正确答案:
A
24,正确答案:
A
25,正确答案:
A
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 面向 对象 考题 答案