java面向对象考题和答案_第1页
java面向对象考题和答案_第2页
java面向对象考题和答案_第3页
java面向对象考题和答案_第4页
java面向对象考题和答案_第5页
已阅读5页,还剩9页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

pub1i3classMaini

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

I).100

300

2.程序执行的结果是:

publicclassTest{

publicstaticvoidmain(String[]args){

intx=6;

Tostp=newTest();

p.doStuff(x);

System,out.printinCmain:x="+x);

)

voiddoStuff(intx){

System.out.printinCdoStuff: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.栈用于存储使用ne需关键字创建的对象

D.数组属于JVM的存结构

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

publicclassTest{

pub1icvoidprint(charc){

System,out.println(',c");

)

publicvoidprint(inti){

System,out.printlnC'i");

)

publicvoidprint(doubled){

System,out.printIn(^d");

}

publicvoidprint(Strings){

System,out.printInC's");

)

pjblicstaticvoidmain(String[]args){

Testtest=newTest();

test.print('5');

)

}

A.c

B.i

C.d

D.s

5.程序执行的结果是:

publicclassTest{

Stringnamc="Tom";

pjblicTest(Stringname){

name=name;

)

pjblicstaticvoidmain(String[]args){

Testt=newTest("Jack");

System,out.println(t.name);

)

}

A.nullB.Tom

C.Jack

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

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

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

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

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

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

A.使类的定义复杂化

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

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

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

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

classFoo{

pub1icinta;

publicFoo(){

a=3;

)

publicvoidaddFiveO{

a+=5;

)

}

classBarextendsFoo{

pub1icinta;

publicBar(){

a=8;

}

publicvoidaddFiveO{

this,a+=5;

)

}

publicclassTestFoo{

publicstaticvoidmain(String[]args){

Foofoo=newBar();

foo.addFiveO;

System,out.printIn(wValue:"+foo.a);

)

}

A.Value:3

B.Value:8

C.Value:13

I).Value:18

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

classPerson{

Stringname="Noname";

pub1icPerson(Stringnm){

name=nm;

)

}

classEmployeeextendsPerson{

StringempID="0000";

publicEmployee(Stringid){

empID=id;

)

)

publicclassEmployeeTest(

publicstaticvoidmain(String[]args){

Employeec=newEmployee("4321;

System,out.println(e.empID);

)

}

A.输出:0000

B.输出:432】

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

D.抛出运行时异常

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

publicclassAnimal{

publicStringnoiseO{

return"peep";

)

pub1icstaticvoidmain(String[]args){

Aninalanimal=newDog();

Catcat=(Cat)animal;

System,out.printIn(cat.noiseO);

)

}

classDogextendsAnimal(

publicStringnoiseO{

retjrn"bark";

)

)

classCatextendsAnimal{

publicStringnoiseO{

retjrn"meow";

)

}

A.peep

B.barK

C.meo*'

D.抛出运行时异常

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

publicclassA{

publicvoidstart(){

System,out.println("TestAB);

)

}

publicclassBextendsA(

publicvoidstart(){

System,out.printIn("TestB");

)

publicstaticvoidmain(String[]args){

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

)

}

A.输出:TestA

B.输出:TestB

C.输出:TestATestB

D.编译错误

12.请看以下代码:

classOne{

voidfoo(){

)

}

classTwoextendsOne{

//insertmethodhere

}

以下送项中的代码,放置在<插入代码》处无编译错误的是:

A.inttoo(){/*morecodehere♦/)

B.protectedvoidfoo(){/*morecodehere*/)

C.pjblicvoidfoo(){/*morecedehere*/}

I),privatevoidfoo(){/*morecodehere*/}

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

A.private

B.protected

C.friendly

I),public

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

classFoo{

privateintx;

publicFoo(intx){

this,x=x;

)

publicvoidsetX(intx){

this,x=x;

)

publicintgetX(){

returnx;

)

}

publicclassGamma(

staticFoofooBar(Foofoo){

foo=newEoo(l00);

returnfoo;

)

publicstaticvoidmain(String[]args){

Foofoo=newFoo(300);

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

FoofooFoo=fooBar(foo);

System,out.print(foo.getXO+

System,out.print(fooFoo.getXO+;

foo=fooBar(fooFoo);

System,out.print(foo.getXO+

System,out.print(fooFoo.getXO);

)

}

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{

pub1icstaticfinalStringE00="bar";

}

publicstaticvoidmain(String[]args){

Baseb=newBase();

Subs=newSub();

System,out.print(Base.FOO);

System,out.print(Sub.E(X));

System,out.print(b.FOO);

System,out.print(s.FOO);

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

}

}

A.fDofoofoofoofoo

B.foooarfoobarbar

C.foooarfoofoofoo

D.foooarfoobarfoo

16.关于以下代码说确的是:

publicclassItemTest{

privatefinalintid;

publicItcniTcst(intid){

tnis.id=id;

}

publicvoidupdateld(intnewId){

id=newld;

}

publicstaticvoidmain(String[]args){

ItemTestfa=newItemTest(42);

fa.updateI(1(69);

System,out.println(fa.id);

)

}

A.编译偌误

B.运行时檄出异常

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

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

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

publicclassStudent{

privateStringname=,,sun";

pub1icstaticvoidmain(String[]args){

Student[]students=newStudent[2];

System,out.printIn(sludentsEO].name);

System,out.printIn(students,length);

A.san2

B.null2

C.null1

D.运行时抛出NulIPointerException异常

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

abstractclassVehicle{

pub1icintspeedO{

return0;

classCarextendsVehicle{

publicintspeed。{

retjrn60;

classRaceCarextendsCar

publicintspeed(){

return150;

publicclassTeslCar(

publicstaticvoidmain(String[]args){

RaceCarracer=newRaceCarO;

Carcar=newRaceCar();

Vehiclevehicle=newRaceCarO:

System,out.printIn(racer.speedO++car.speedO+

+vehicle.speedO);

A.0,3,0B.150,60,0

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

19.请看以下代码:

publicabstractclassEmployee{

protectedabstractdoublegetSalesAmount();

pub1icdoublegetCommision(){

returngetSalesAmount()*0.15;estA(){

)

}

classSalesextendsEmployee{

<插入代码)

}

在《插入代码》处填入的方确的是:

A.dojblegetSalesAmount(){return1230.45;}

B.puolicdoublegetSalesAmount(){return1230.45;}

C.privatedoublegetSalesAmount(){return1230.45;}

D.protecteddoublegetSalesAmount0{return1230.45;}

20.关于以下代码说确的是:

publicinterfaceA(

publicvoiddoSomething(Stringthing);

}

publicclassAlmplimplementsA(

publicvoiddoSomething(Stringmsg){

)

}

publizclassB{

publicAdoitO{

returnnull;

)

publicStringexecute()(

retjrnnull;

)

}

publicclassCextendsB(

pub1icAlmpldoit(){

returnnull;

}

pub1icObjectexecute(){

returnnull;

}

}

A.所有类和接口都编译成功B.类B编译失败

C.类Aimpl编译失败D.类C编译失败

21.关于以下代码说确的是:

interfaceA{

publicvoidaMethodO;

}

interfaceB{

publicvoidbMethodO;

}

interfaceCextendsA,B{

publicvoidcMethodO;

}

classDimplementsB{

publicvoidbMethodO{}

}

classEextendsDimplementsC{

publicvoidaMethodO{}

pub1icvoidbMethod(){}

publicvoidcMethod(){}

}

A.编译失败

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

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

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

22.请看以下代码:

publicclassUserRequest{

publicvoidrequest(Serv1etActionaction){

action.doServiceO;

)

publicstaticvoidmain(String[]args){

UserRequestuser=newUserRequest();

user.1'equest(newServletActionO{

puDlicvoiddoServiceO{

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

)

});

)

}

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

A.pjblicstaticclassSei'vletAction{

publicvoiddoServiceO;

B.publicfinalclassServletAction{

publicvoiddoServiceO;

}

C.puolicclassServletAction{

publicvoiddoServiceO;

}

D.publicinterfaceServletAction{

publicvoiddoServiceO;

}

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

publicclassHello(

Stringtitle;

intvalue;

publicHello(){

title+="World";

)

publicHello(intvalue)(

this,value=value;

title="Hello";

)

pub1icstaticvoidmain(String[]args){

Helloc=newHello(5);

System,out.println(c.title);

)

}

A.HEI。

B.HeiloWorld

C.HelloWorld5

D.运行后无输出

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

interfaceTestA{

StringtoStringO;

}

publicclassTest{

publicstaticvoidmain(Stri

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论