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

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

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

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

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

java面向对象考题和答案

 

java面向对象考题和答案

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

2.publicclassMain{

3.publicstaticvoidmain(String[]args){

4.intn=100;

5.intm=200;

6.

7.

8.}

9.publicstaticintf(intm,intn){

10.n=m+n;

11.returnn;

12.}

13.}

300

100

100

300

2.程序执行的结果是:

3.publicclassTest{

4.publicstaticvoidmain(String[]args){

5.intx=6;

6.Testp=newTest();

7.(x);

8."main:

x="+x);

9.}

10.voiddoStuff(intx){

11."doStuff:

x="+x++);

12.}

13.}

A.doStuff:

x=7

B.main:

x=7

x=7

main:

x=6

x=6

main:

x=7

x=6

main:

x=6

3.下列关于JVM的内存结构描述正确的是:

A.类的各种信息在方法区中保存

B.堆用于存放程序运行过程当中所有的局部变量

C.栈用于存储使用new关键字创建的对象

D.数组属于JVM的内存结构

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

5.publicclassTest{

6.publicvoidprint(charc){

7."c");

8.}

9.

10.publicvoidprint(inti){

11."i");

12.}

13.

14.publicvoidprint(doubled){

15."d");

16.}

17.publicvoidprint(Strings){

18."s");

19.}

20.publicstaticvoidmain(String[]args){

21.Testtest=newTest();

22.('5');

23.}

24.}

 

5.程序执行的结果是:

6.publicclassTest{

7.Stringname="Tom";

8.publicTest(Stringname){

9.name=name;

10.}

11.publicstaticvoidmain(String[]args){

12.Testt=newTest("Jack");

13.

14.}

15.}

D.""

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

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

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

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

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

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

A.使类的定义复杂化

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

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

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

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

classFoo{

publicinta;

publicFoo(){

a=3;

}

publicvoidaddFive(){

a+=5;

}

}

classBarextendsFoo{

publicinta;

publicBar(){

a=8;

}

publicvoidaddFive(){

+=5;

}

}

publicclassTestFoo{

publicstaticvoidmain(String[]args){

Foofoo=newBar();

();

"Value:

"+;

}

}

:

3

:

8

:

13

:

18

9.下列代码编译和运行的结果是:

10.classPerson{

11.Stringname="Noname";

12.

13.publicPerson(Stringnm){

14.name=nm;

15.}

16.}

17.classEmployeeextendsPerson{

18.StringempID="0000";

19.

20.publicEmployee(Stringid){

21.empID=id;

22.}

23.}

24.publicclassEmployeeTest{

25.publicstaticvoidmain(String[]args){

26.Employeee=newEmployee("4321");

27.

28.}

29.}

A.输出:

0000

B.输出:

4321

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

D.抛出运行时异常

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

11.publicclassAnimal{

12.publicStringnoise(){

13.return"peep";

14.}

15.publicstaticvoidmain(String[]args){

16.Animalanimal=newDog();

17.Catcat=(Cat)animal;

18.

19.}

20.}

21.classDogextendsAnimal{

22.publicStringnoise(){

23.return"bark";

24.}

25.}

26.classCatextendsAnimal{

27.publicStringnoise(){

28.

return"meow";

}

}

A.peep

 

D.抛出运行时异常

11.下列代码编译和运行的结果是:

publicclassA{

publicvoidstart(){

"TestA");

}

}

publicclassBextendsA{

publicvoidstart(){

"TestB");

}

publicstaticvoidmain(String[]args){

((A)newB()).start();

}

}

A.输出:

TestA

B.输出:

TestB

C.输出:

TestATestB

D.编译错误

12.请看下列代码:

classOne{

voidfoo(){

}

}

classTwoextendsOne{

protectedvoidfoo(){/*morecodehere*/}

C.publicvoidfoo(){/*morecodehere*/}

D.privatevoidfoo(){/*morecodehere*/}

13.下列选项中,不属于Java的访问修饰符的是:

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

15.classFoo{

16.privateintx;

17.publicFoo(intx){

18.=x;

19.}

20.publicvoidsetX(intx){

21.=x;

22.}

23.publicintgetX(){

24.returnx;

25.}

26.}

27.publicclassGamma{

28.staticFoofooBar(Foofoo){

29.foo=newFoo(100);

30.returnfoo;

31.}

32.publicstaticvoidmain(String[]args){

33.Foofoo=newFoo(300);

34.+"-");

35.FoofooFoo=fooBar(foo);

36.+"-");

37.+"-");

38.foo=fooBar(fooFoo);

39.+"-");

40.

41.}

42.}

 

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

16.publicclassBase{

17.publicstaticfinalStringFOO="foo";

18.classSubextendsBase{

19.publicstaticfinalStringFOO="bar";

20.}

21.publicstaticvoidmain(String[]args){

22.Baseb=newBase();

23.Subs=newSub();

24.

25.

26.

27.

28.s).FOO);

29.}

30.}

31.

A.foofoofoofoofoo

 

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

17.publicclassItemTest{

18.privatefinalintid;

19.publicItemTest(intid){

20.=id;

21.}

22.publicvoidupdateId(intnewId){

23.id=newId;

24.}

25.publicstaticvoidmain(String[]args){

26.ItemTestfa=newItemTest(42);

27.(69);

28.

29.}

30.}

A.编译错误

B.运行时抛出异常

C.运行后,fa对象属性id的值没有改变,应然是42

D.运行后,fa对象属性id的值改变成新的值69

17.请看下列代码编译和运行的结果是:

18.publicclassStudent{

privateStringname="sun";

publicstaticvoidmain(String[]args){

Student[]students=newStudent[2];

}

}

A.sun2

2

1

D.运行时抛出NullPointerException异常

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

19.abstractclassVehicle{

20.publicintspeed(){

21.return0;

22.}

23.}

24.classCarextendsVehicle{

25.publicintspeed(){

26.return60;

27.}

28.}

29.classRaceCarextendsCar{

30.publicintspeed(){

31.return150;

32.}

33.}

34.publicclassTestCar{

35.publicstaticvoidmain(String[]args){

36.RaceCarracer=newRaceCar();

37.Carcar=newRaceCar();

38.Vehiclevehicle=newRaceCar();

39.+","+()+","

40.+());

41.}

42.}

0,0,60,0

150,150D.抛出运行时异常

19.请看下列代码:

publicabstractclassEmployee{

protectedabstractdoublegetSalesAmount();

publicdoublegetCommision(){

returngetSalesAmount()*;estA(){

}

}

classSalesextendsEmployee{

<插入代码>

}

在<插入代码>处填入的方法正确的是:

getSalesAmount(){return;}

doublegetSalesAmount(){return;}

doublegetSalesAmount(){return;}

doublegetSalesAmount(){return;}

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();,那么();调用D类的bMethod()方法

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

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

22.请看下列代码:

publicclassUserRequest{

publicvoidrequest(ServletActionaction){

();

}

publicstaticvoidmain(String[]args){

UserRequestuser=newUserRequest();

(newServletAction(){

publicvoiddoService(){

"处理请求");

}

});

}

}

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

A.publicstaticclassServletAction{

publicvoiddoService();

}

finalclassServletAction{

publicvoiddoService();

}

classServletAction{

publicvoiddoService();

}

D.publicinterfaceServletAction{

publicvoiddoService();

}

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

24.publicclassHello{

25.Stringtitle;

26.intvalue;

27.publicHello(){

28.title+="World";

29.}

30.publicHello(intvalue){

31.=value;

32.title="Hello";

33.}

34.publicstaticvoidmain(String[]args){

35.Helloc=newHello(5);

36.

37.}

38.}

A.Hello

B.HelloWorld

C.HelloWorld5

D.运行后无输出

24.请看下列代码编译和运行的结果是:

25.interfaceTestA{

26.StringtoString();

27.}

28.publicclassTest{

29.publicstaticvoidmain(String[]args){

30.TestA(){

31.publicStringtoString(){

32.return"test";

33.

}

});

}

}

A.输出:

test

B.输出:

null

C.代码TestA(){行,编译出错

D.代码publicStringtoString(){行,编译出错

25.请看下列代码:

1)publicclassOuter{

2)voidfn(inti){

3)classInner{

4)voidprint(){

5)

6)}

7)}

8)Innerin=newInner();

9)();

10)}

11)}

12)classTest{

13)publicstaticvoidmain(Stringargs[]){

14)Outerout=newOuter();

15)(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

 

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

当前位置:首页 > 高中教育 > 语文

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

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