java面向对象考题和答案doc.docx

上传人:b****2 文档编号:23185933 上传时间:2023-05-15 格式:DOCX 页数:19 大小:25.68KB
下载 相关 举报
java面向对象考题和答案doc.docx_第1页
第1页 / 共19页
java面向对象考题和答案doc.docx_第2页
第2页 / 共19页
java面向对象考题和答案doc.docx_第3页
第3页 / 共19页
java面向对象考题和答案doc.docx_第4页
第4页 / 共19页
java面向对象考题和答案doc.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

java面向对象考题和答案doc.docx

《java面向对象考题和答案doc.docx》由会员分享,可在线阅读,更多相关《java面向对象考题和答案doc.docx(19页珍藏版)》请在冰豆网上搜索。

java面向对象考题和答案doc.docx

java面向对象考题和答案doc

1.下面代码的输出结果是:

publicclassMoin{

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.prmain:

x二"+x);

}

voiddoStuff(intx){

System,out.prdoStuff:

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.pri;

}

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二"TonT;

publicTest(Stringname){

name=name;

}

publicstaticvoidmain(String[]args){

Testt=newTest("Jack");

System・out.println(t・name);

A.

B.Tom

〃〃

null

C.Jack

6.关于构造方法,下列说法错误的是:

A.构造方法不可以进行方法重写

B.构造方法用来实例化一个新的对彖

C.构造方法具冇和类名相同的名称

D.构造方法不返回任何数据类型

7.关于Java中继承的特点,下列说法正确的是:

A.使类的定义复杂化

B.Java只支持单继承,不可多继承,但可以通过实现接口來达到多继承的目的

C.子类继承父类的所有成员变量和方法,包括父类的构造方法

D.不可以多层继承,即一个类不可以继承另一个类的了类

&下列代码运行的结果是:

classFoo{

publicinta;

publicFoo(){

a=3;

}

publicvoidaddFive(){

a+=5;

}

}

classBarextendsFoo{

publicinta;

publicBar0{

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){

empTD=id;

}

}

pubIicclassEmployeeTest{

publicstaticvoidmdin(String[]args){

Employeee=newEmployee(〃4321〃);

System,out.println(e>empID);

}

}

A.输出:

0000

B.输出:

4321

C.代码publicEmployee(Stringid){行,出现编译错误

D.抛出运行时异常

10.下列代码的运行结果是:

publicclassAnimal{

publicStringnoiseO{

return"peep";

}

publicstaticvoidmdin(String[]args){

Animalanimal=newDog();

Catcat=(Cat)animal;

System・out・println(cat・noiseO);

}

}

classDogextendsAnimal{

publicStringnoiseO{

return〃bark〃;

}

}

classCatextendsAnimal{

publicStringnoiseO{

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(lOO);

returnfoo;

}

publicstaticvoidmain(String[]args){

Foofoo=newFoo(300);

System・out・print(foo.getX()+;

FoofooFoo=fooBar(foo);

System・out.print(foo.getX()+"-〃);

System,out.print(fooFoo.getXO+"-〃);

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-1000.300-300-300300-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;

}

publicvoidupdateTd(intnewTd){

id=newld;

}

publicstaticvoidm8in(String[]args)

TtemTestfa=newItemTest(42);

fa.updateTd(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.printin(students[0].name);

System,out.println(students.1ength);

}

}

A.sun2

B.null2

C.nul11

D.运行时抛出NulIPointerException异常

18.下列代码的输出结果是:

abstractclassVehicle{

publicintspeed(){

return0;

}

}

classCarextendsVehicle{

publicintspeed(){

return60;

}

}

classRaceCarextendsCar{

publicintspeed(){

return150;

}

}

publicclassTestCar{

publicstaticvoidmain(String[]args){

RaceCarracer=newRaceCarO;

Carcar=newRaceCarO;

Vehiclevehicle=newRaceCarO;

System.out.println(racer・speed()+〃,+car.speed()+

+vehicle,speed());

}

C.150,150,150

D.抛出运行时异常

 

19.请看下列代码:

publicabstractclassEmployee{

protectedabstractdoublegetSalesAmount();

publicdoublegetCommisionO{

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);

 

publicclassB{

publicAdoit(){

returnnull;

}

publicStringexecute(){returnnull;

}

}

publicclassCextendsB{

publicAlmpldoit(){returnnull;

}

publicObjectexecute(){

returnnull;

 

A.所冇类和接口都编译成功

B•类B编译失败

 

C.

D•类C编译失败

类Aimpl编译失败

21.关于下列代码说法正确的是:

interfaceA{

publicvoidaMethodO;

}

interfaceB{

publicvoidbMethodO;

}

interfaceCextendsA,B{

publicvoidcMethodO;

}

classDimplementsB{

publicvoidbMethodO{}

}

classEextendsDimp1emcntsC{

publicvoidaMethodO{}

publicvoidbMethodO{}

publicvoidcMethodO{}

}

A.编译失败

B・女口果定义De=newE()那么e.bMethodO;调用D类的bMethodO方法

C.如果定义De=(D)(newE())那么e.bMethod();调用D类的bMethod()方法

D•如果定义De=(D)(newE())那么e.bMethodO;调用E类的bMethodO方法

22.请看下列代码:

publicclassUserRequest{

publicvoidrequest(ServletActionaction){

action・doServiceO;

}

publicstaticvoidmain(String[]args){

UserRequestuser=newUserRequest();

user,request(newServletActionO{

publicvoiddoServiceO{

System,out.printin("处理请求");

}

});

}

}

如果上述代码采用回调模式编写,下列关于ServletAction的定义止确的是:

A.publicstaticclassServletAction{

publicvoiddoServiceO;

B.publicfinalclassServletAction{

publicvoiddoServiceO;

}

C.publicclassServletAction{

publicvoiddoServiceO;

}

D.publicinterfaceServletAction{

publicvoiddoServiceO;

}

23.下列代码运行的结果是:

publicclassHello{

Stringtitle;

intvalue;

publicHelloO{

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(newTestAO{

publicStringtoString(){

return"test";

}

});

}

}

A.输出:

test

B.输出:

null

C.代码System,out.printin(newTestAO{行,编译出错

D.代码publicStringtoStringO{行,编译出错

25.请看下列代码:

1)pub1icclassOuter{

2)voidfn(inti){

3)classInner{

4)voidprint(){

5)System,out.printin(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修饰

在第3行出现编译错课,在方法的内部不能写类

C.在第8行出现编译错课,在方法的内部不能实例化Inner类的对象

D.运行代码,控制台输出100

Al,正确答案:

C

2,正确答案:

D

3,正确答案:

A

4,正确答案:

A

5,正确答案:

B

6,正确答案:

B

7,正确答案:

B

&正确答案:

A

9,正确答案:

C

10,正确答案:

D

11,正确答案:

B

12,正确答案:

BC

13,正确答案:

C

14,正确答案:

B

15,正确答案:

D

16,正确答案:

A

17,正确答案:

D

1&正确答案:

C

19,正确答案:

BD

20,正确答案:

D

21,正确答案:

D

22,正确答案:

D

23,正确答案:

A

24,正确答案:

A

25,正确答案:

A

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 预防医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1