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

上传人:b****1 文档编号:1990860 上传时间:2023-05-02 格式:DOCX 页数:15 大小:17.65KB
下载 相关 举报
java面向对象考题和答案.docx_第1页
第1页 / 共15页
java面向对象考题和答案.docx_第2页
第2页 / 共15页
java面向对象考题和答案.docx_第3页
第3页 / 共15页
java面向对象考题和答案.docx_第4页
第4页 / 共15页
java面向对象考题和答案.docx_第5页
第5页 / 共15页
java面向对象考题和答案.docx_第6页
第6页 / 共15页
java面向对象考题和答案.docx_第7页
第7页 / 共15页
java面向对象考题和答案.docx_第8页
第8页 / 共15页
java面向对象考题和答案.docx_第9页
第9页 / 共15页
java面向对象考题和答案.docx_第10页
第10页 / 共15页
java面向对象考题和答案.docx_第11页
第11页 / 共15页
java面向对象考题和答案.docx_第12页
第12页 / 共15页
java面向对象考题和答案.docx_第13页
第13页 / 共15页
java面向对象考题和答案.docx_第14页
第14页 / 共15页
java面向对象考题和答案.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

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

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

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

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

盛年不重来,一日难再晨。

及时宜自勉,岁月不待人。

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

当前位置:首页 > 工程科技 > 能源化工

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

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