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

上传人:b****1 文档编号:3424734 上传时间:2023-05-05 格式:DOCX 页数:20 大小:18.46KB
下载 相关 举报
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_第6页
第6页 / 共20页
java面向对象考题和答案.docx_第7页
第7页 / 共20页
java面向对象考题和答案.docx_第8页
第8页 / 共20页
java面向对象考题和答案.docx_第9页
第9页 / 共20页
java面向对象考题和答案.docx_第10页
第10页 / 共20页
java面向对象考题和答案.docx_第11页
第11页 / 共20页
java面向对象考题和答案.docx_第12页
第12页 / 共20页
java面向对象考题和答案.docx_第13页
第13页 / 共20页
java面向对象考题和答案.docx_第14页
第14页 / 共20页
java面向对象考题和答案.docx_第15页
第15页 / 共20页
java面向对象考题和答案.docx_第16页
第16页 / 共20页
java面向对象考题和答案.docx_第17页
第17页 / 共20页
java面向对象考题和答案.docx_第18页
第18页 / 共20页
java面向对象考题和答案.docx_第19页
第19页 / 共20页
java面向对象考题和答案.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

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

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

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

java面向对象考题和答案

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

2.publicclassMain{

3.publicstaticvoidmain(String[]args){

4.intn=100;

5.intm=200;

6.System.out.println(f(n,m));

7.System.out.println(n);

8.}

9.publicstaticintf(intm,intn){

10.n=m+n;

11.returnn;

12.}

13.}

A.300

300

B.100

100

C.300

100

D.100

300

2.程序执行的结果是:

3.publicclassTest{

4.publicstaticvoidmain(String[]args){

5.intx=6;

6.Testp=newTest();

7.p.doStuff(x);

8.System.out.println("main:

x="+x);

9.}

10.voiddoStuff(intx){

11.System.out.println("doStuff:

x="+x++);

12.}

13.}

A.doStuff:

x=7

B.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.下列代码的输出结果是:

5.publicclassTest{

6.publicvoidprint(charc){

7.System.out.println("c");

8.}

9.

10.publicvoidprint(inti){

11.System.out.println("i");

12.}

13.

14.publicvoidprint(doubled){

15.System.out.println("d");

16.}

17.publicvoidprint(Strings){

18.System.out.println("s");

19.}

20.publicstaticvoidmain(String[]args){

21.Testtest=newTest();

22.test.print('5');

23.}

24.}

A.c

B.i

C.d

D.s

5.程序执行的结果是:

6.publicclassTest{

7.Stringname="Tom";

8.publicTest(Stringname){

9.name=name;

10.}

11.publicstaticvoidmain(String[]args){

12.Testt=newTest("Jack");

13.System.out.println(t.name);

14.}

15.}

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.下列代码编译和运行的结果是:

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.System.out.println(e.empID);

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.System.out.println(cat.noise());

19.}

20.}

21.classDogextendsAnimal{

22.publicStringnoise(){

23.return"bark";

24.}

25.}

26.classCatextendsAnimal{

27.publicStringnoise(){

28.return"meow";

29.}

30.}

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.下列代码的输出结果是:

15.classFoo{

16.privateintx;

17.publicFoo(intx){

18.this.x=x;

19.}

20.publicvoidsetX(intx){

21.this.x=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.System.out.print(foo.getX()+"-");

35.FoofooFoo=fooBar(foo);

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

37.System.out.print(fooFoo.getX()+"-");

38.foo=fooBar(fooFoo);

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

40.System.out.print(fooFoo.getX());

41.}

42.}

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.下列代码运行的结果是:

16.publicclassBase{

17.publicstaticfinalStringFOO="foo";

18.classSubextendsBase{

19.publicstaticfinalStringFOO="bar";

20.}

21.publicstaticvoidmain(String[]args){

22.Baseb=newBase();

23.Subs=newSub();

24.System.out.print(Base.FOO);

25.System.out.print(Sub.FOO);

26.System.out.print(b.FOO);

27.System.out.print(s.FOO);

28.System.out.print(((Base)s).FOO);

29.}

30.}

31.

A.foofoofoofoofoo

B.foobarfoobarbar

C.foobarfoofoofoo

D.foobarfoobarfoo

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

17.publicclassItemTest{

18.privatefinalintid;

19.publicItemTest(intid){

20.this.id=id;

21.}

22.publicvoidupdateId(intnewId){

23.id=newId;

24.}

25.publicstaticvoidmain(String[]args){

26.ItemTestfa=newItemTest(42);

27.fa.updateId(69);

28.System.out.println(fa.id);

29.}

30.}

A.编译错误

B.运行时抛出异常

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

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

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

18.publicclassStudent{

19.privateStringname="sun";

20.publicstaticvoidmain(String[]args){

21.Student[]students=newStudent[2];

22.System.out.println(students[0].name);

23.System.out.println(students.length);

24.}

25.}

A.sun2

B.null2

C.null1

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.System.out.println(racer.speed()+","+car.speed()+","

40.+vehicle.speed());

41.}

42.}

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.下列代码运行的结果是:

24.publicclassHello{

25.Stringtitle;

26.intvalue;

27.publicHello(){

28.title+="World";

29.}

30.publicHello(intvalue){

31.this.value=value;

32.title="Hello";

33.}

34.publicstaticvoidmain(String[]args){

35.Helloc=newHello(5);

36.System.out.println(c.title);

37.}

38.}

A.Hello

B.HelloWorld

C.HelloWorld5

D.运行后无输出

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

25.interfaceTestA{

26.StringtoString();

27.}

28.publicclassTest{

29.publicstaticvoidmain(String[]args){

30.System.out.println(newTestA(){

31.publicStringtoString(){

32.return"test";

33.}

34.});

35.}

36.}

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行出现编译错误,在方

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

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2