java面向对象考题和答案文档格式.docx

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

java面向对象考题和答案文档格式.docx

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

java面向对象考题和答案文档格式.docx

D.doStuff:

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

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

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

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

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

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

publicvoidprint(charc){

c"

);

publicvoidprint(inti){

i"

publicvoidprint(doubled){

d"

publicvoidprint(Strings){

s"

Testtest=newTest();

test.print('

5'

A.c

B.i

C.d

D.s

5.程序执行的结果是:

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{

publicBar(){

a=8;

this.a+=5;

publicclassTestFoo{

Foofoo=newBar();

foo.addFive();

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{

Employeee=newEmployee("

4321"

System.out.println(e.empID);

A.输出:

0000

B.输出:

4321

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

D.抛出运行时异常

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

publicclassAnimal{

publicStringnoise(){

return"

peep"

Animalanimal=newDog();

Catcat=(Cat)animal;

System.out.println(cat.noise());

classDogextendsAnimal{

bark"

classCatextendsAnimal{

meow"

A.peep

B.bark

C.meow

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

publicclassA{

publicvoidstart(){

TestA"

publicclassBextendsA{

TestB"

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

TestA

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

privateintx;

publicFoo(intx){

this.x=x;

publicvoidsetX(intx){

publicintgetX(){

returnx;

publicclassGamma{

staticFoofooBar(Foofoo){

foo=newFoo(100);

returnfoo;

Foofoo=newFoo(300);

System.out.print(foo.getX()+"

-"

FoofooFoo=fooBar(foo);

System.out.print(fooFoo.getX()+"

foo=fooBar(fooFoo);

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{

bar"

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;

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"

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{

return60;

classRaceCarextendsCar{

return150;

publicclassTestCar{

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

publicclassCextendsB{

publicAImpldoit(){

publicObjectexecute(){

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

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

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

interfaceA{

publicvoidaMethod();

interfaceB{

publicvoidbMethod();

interfaceCextendsA,B{

publicvoidcMethod();

classDimplementsB{

publicvoidbMethod(){}

classEextendsDimplementsC{

publicvoidaMethod(){}

publicvoidcMethod(){}

A.编译失败

B.如果定义De=newE();

那么e.bMethod();

调用D类的bMethod()方法

C.如果定义De=(D)(newE());

D.如果定义De=(D)(newE());

调用E类的bMethod()方法

22.请看下列代码:

publicclassUserRequest{

publicvoidrequest(ServletActionaction){

action.doService();

UserRequestuser=newUserRequest();

user.request(newServletAction(){

publicvoiddoService(){

处理请求"

});

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

A.publicstaticclassServletAction{

publicvoiddoService();

B.publicfinalclassServletAction{

C.publicclassServletAction{

D.publicinterfaceServletAction{

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

publicclassHello{

Stringtitle;

intvalue;

publicHello(){

title+="

World"

publicHello(intvalue){

this.value=value;

title="

Hello"

Helloc=newHello(5);

System.out.println(c.title);

A.Hello

B.HelloWorld

C.HelloWorld5

D.运行后无输出

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

interfaceTestA{

StringtoString();

System.out.println(newTestA(){

publicStringtoString(){

test"

test

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,正确答案:

5,正确答案:

B

6,正确答案:

7,正确答案:

8,正确答案:

9,正确答案:

10,正确答案:

11,正确答案:

12,正确答案:

BC

13,正确答案:

14,正确答案:

15,正确答案:

16,正确答案:

17,正确答案:

18,正确答案:

19,正确答案:

BD

20,正确答案:

21,正确答案:

22,正确答案:

23,正确答案:

24,正确答案:

25,正确答案:

 

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

当前位置:首页 > 总结汇报 > 学习总结

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

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