Java面向对象知识测试试卷答案_第1页
Java面向对象知识测试试卷答案_第2页
Java面向对象知识测试试卷答案_第3页
Java面向对象知识测试试卷答案_第4页
Java面向对象知识测试试卷答案_第5页
已阅读5页,还剩17页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

面向对象部分测试题

考试宣言:

同学们,考试考多少分不是我们目标!排在班级多少名次也不是

我们初衷!

我们考试目标是要经过考试中题目,检验大家在这段时间学习中,

是否已经把需要掌握知识掌握住了,假如哪道题目你不会做,又或者

做错了,那么不用怕,考完试后,导师讲解时候你要注意听!那时

候学会了,记住了,也一样不影响你高薪就业!

本套题共40道不定项选择题,其中单项选择30道,多项选择10

道。单项选择2分/题,多项选择4分/题。多项选择题不全对半分,

全对满分。

1.下面描述函数重写错误是

A.要有子类继承或实现

B.子类方法权限必须大于等于父类权限

C.父类中被private权限修饰方法能够被子类重写

D.子类重写接口中抽象方法,子类方法权限必须是public//接口全部方法前面都

是默认publicabstract

2.下面关于类设计思绪描述错误是()

A.依照需求定义类所包含字段(组员变量)

B.依照面向对象思想要求,隐藏属性和实现细节之后,能够提供公共访问方式

C.封装之后字段在本类内也必须使用get/set方法//private修饰之后能够在本

类中直接使用,不需要经过get/set方法调用

D.按需求能够在类中定义若干结构方法

3.分析以下Java代码,假如想在控制台上输出''B类test,:)方法〃,则在主函数应填入

()o

classA{

publicvoidtest(){

System.out.printIn("A类test()方法”);

)

)

classBextendsA{

publicvoidtest(){

System.out.printIn("B类test()方法”);

)

publicstaticvoidmain(Stringargs[]){

)

)

A.Aa=newB();

a.test();

B.Aa=newA();

a.test();

C.Bb=newA();

b.test();

D.newB().test();

4.关于封装下面介绍错误是()o

A.封装隐藏实现细节

B.封装提升重用性。

C.封装提升安全性

D.只有被private修布才叫做封装//仅仅是封装一个

5.试图编译运行下面代码会发生什么情况

publicclassMyClass{

staticinti;//int型组员变量默认值为0

publicstaticvoidmain(String[]args){

System.out.printIn(i);

)

}

A.错误,变量i没有被初始化

B.输出null

C.输出1

D.输出0

6.下面对static描述正确是

A.静态修饰组员变量和组员方法伴随类加载而加载

B.静态修饰组员方法能够访问非静态组员变量〃对象都没有,访问什么呀?

C.静态修饰组员能够被整个类对象所共享

D.静态修饰组员变量和组员方法伴随类消失而消失

7.给定java代码,以下:

abstractclassShape

abstractvoiddraw();

要创建Shape类子类Circle,以卜代码止确是()。

A.classCircleextendsShape{intdraw(){}

B.abstractclassCircleextendsShape{

C.classCircleextendsShape{voiddrew();}

D.classCircleextendsShape{voiddrew(){}}

8.在Java中,下面对于结构函数描述正确是()0

A.类必须显式定义结构函数

B.结构函数返回类型是void//结构器(函数)没有返回值类型,什么都不用

写.

C.结构函数和类有相同名称,而且不能带任何参数

D.一个类能够定义多个结构函数

9.下面Java代码运行结果是()o

classPenguin{

//下面蓝色部分被称为属性,字段,组员变量

privateStringname=null;//名字

privateinthealth=0;//健康值

privateStringsex=null;//性别

publicvoidPenguin(){//结构方法没有void,所以这是个普通方法

health=10;

sex="雄";

System.out.printIn("执行结构方法。“);

}

publicvoidprint(){

System.out.printIn("企鹅名字是"+name+

",健康值是,,+health+",性别是“+sex+");

)

publicstaticvoidmain(String[]args)(

Penguinpgn=newPenguin();

pgn.print();

}

A.企鹅名字是null,健康值是10,性别是雄。

B.执行结构方法。

企鹅名字是null,健康值是0,性别是null。

C.企鹅名字是null,健康值是0,性别是null。

D.执行结构方法。

企鹅名字是milL健康值是10,性别是雄。

10.在Java中,卜面关于抽象类描述止确是()。

A.抽象类本身能够被实例化

B.假如一个类中有一个方法被申明为抽象,那么这个类必须是抽象类

C.抽象类中方法必须都是抽象

D.申明抽象类必须带关于犍字abstract

11.给定以下Java程序代码,在横线处加入()语句,能够使这段代码编译经过。

interfaceParent{

publicintcount(inti);

)

publicclassTestimplementsParent{

publicintcount(inti){

returni%9;

)

publicstaticvoidmain(String[]args){

inti=p.count(20);

}

)

A.Testp=newTest();

B.Parentp;

C.Parentp=newParent();

D.Testp=newParent();

12.下面说法正确是()o

A.匿名内部类编译后不会生成.class文件〃也会生成,大家能够自己试下.

B.接口编译后不会生成.class文件//也会有,大家能够自己试下.

C.抽象类中没有结构方法//有结构方法,给子类使用.

D.局部内部类只能访问被final修饰局部变量。

13.类Student中结构方法申明正确是哪一项?()

A:classStudent

publicStudent()

B:classStudent

publicStudent(){}

)

C:classStudent

(

publicvoidStudent(){}

)

D:classStudent

(

newStudent:){}

)

14.下而对this作用描述错误是

A.当组员变量和局部变量重名时候能够用this区分

B.this()语句必须放在结构函数第一行,依照this后面括号中参数调用本类其余

结构函数.

C.this能够用本类通常函数

D.this能够调用父类通常函数//需要首先调用父类属性或方法,要用super关

评字

15.在Java中,以下程序编译运行后输出结果为()。

publicclassTest{

intx,y;

Test(intx,inty){

this.x=x;

this.y=y;

)

publicstaticvoidmain(String[]args)(

Testptlzpt2;

ptl=newTest(3,3);

pt2=newTest(4,4);

System.out.print(ptl.x+pt2.x);

I

}

A.6

B.34

C.8

D.7

16.在java中,已定义了两个接口B和C,以下语句正确是()

A.interfaceAextendsB,C

B.interfaceAimplementsB,C

C.classAimplementsB,C

D.classAimplementsB,implementsC

17.给定一个Java程序Test,java代码以下所表示,编译时,会出现以下()情况。

classParent{

publicintcount(){〃第1行

return0;

)

)

publicclassTestextendsParent{

publicfloatccuntO{//第2行//子类重写父类方法,要求返回值必

须一致.按继承算也会报错,因为构不成重载

return9;〃第3行

}

)

A.编译经过

B.在第1行引发编译错误

C.在第2行引发编译错误

D.在第3行引发编译错误

18.在Java接口中定义常量,下面语法正确是()(,

A.staticfinalintMALE=1;

B.finalintMALE=1;

C.intMALE=1;

D.privateintMALE=1;

publicstaticfinalintMALE=1;接口中只定义常量方法.

publicabstract返回值method();接口中只定义抽象方法.

19.给定Java程序Child,java代码以下所表示,则编译运行该类结果是()。

classParent{

Parent(){

System.out.printIn("parent");

}

}

publicclassChildextendsParent{

Child(Strings){

System.out.printIn(s);

}

publicstaticvoidmain(String[]args){

Childchild=newChild(-child");〃先调用父类无参结构函数,

再调自己有参结构.

)

}

A.child

B.child

parent

C.parent

child

D.编译错误

20.以下选项中关丁•Java中super关健字说法错误是()。

A.当子父类中组员变量重名时候,在子类方法中想输出父类组员变量值,能够用

super区分子父类组员变量

B.super语句能够放在结构函数任意一行//super()语句必须放在第3.行,死要求,

记住.

C.子类能够经过super关键字调用父类方法

D.子类能够经过super关键字调用父类属性

21.分析以下所表示Java代码,则选项中说法正确是()0

classParent(

publicStringname;

publicParent(StringpName){

=pName;

)

}

publicclassTestextendsParent{//I

publicTest(StringName){//2

name="hell。";//3

superCkitty");//4//super()语句必须放在第1行,死要

求,记住.

)

)

A.第2行错误,Test类结构函数中参数名称应与其父类结构函数中参数名相同

B.第3行错误,应使用super关键字调用父类name属性,改为

super.name=uhello";

C.第4行错误,调用父类结构方法语句必须放在子类结构方法中第一行

D.程序编译经过,无错误

22.以下关于Object类说法错误是()。

A.一切类都直接或间接继承自Object类

B.接口也继承。bject类//接口并没有继承Object类.全部接口都默认具备

Object中方法抽象形式,以备给子类使用.

C.Object类中定义了toStsring()方法

D.Object类在java.lang包中

23.在Java中,多态实现不但能降低编码工作量,还能大大提升程序可维护性及可扩展性,

下面哪一个选项不属于多态条件()»

A.子类重写父类方法

B.子类重载同一个方法//重载是指同一个类中重名方法,不过参数不一样(参数个

数,参数次序,参数类型不一样)

C.要有继承或实现

D.父类引用指向子类对象

24.编译运行以下Java代码,输出结果是()。

classBase{

publicvoidmethod(){

System,out.print("Basemethod'*);

)

}

classChildextendsBase{

publicvoidmethodB(){

System.out.print("ChildmethodB");

}

}

classSample{

publicstaticvoidmain(String[]args){

Basebase=newChild();

base.methodB();//父类中没有methodB()方法,所以会报错.

)

}

A.Basemethod

B.ChildmethodB

C.BasemethodChildMethodB

D.编译错误

25.下面关于Java接口说法正确是()。

A.Java接口中定义是才展功效

B.Java接口中能够被多个子类实现,一个类也能够同时实现多个接口

C.Java接口中能够申明私有组员

D.Java接口本身不能被实例化

26.在Java接口中,以下选项中属于有效方法申明是()«

A.publicvoid^Method();//接口中默认Publicabstract方法方法名();

B.finalvoidaMethod();〃这也是不行,final修饰后就不能被子类实现

C.voidaMethod(){}

D.privatevoidab(ethod();

27.下面说法中错误是

A.静态代码块只在类加载时候执行一次,以后再创建对象时候不执行

B.局部代码块作用是为了限制变量生命周期

C.结构代码块在每创处一次对象就执行一次

D.以上都不对

28.在Java中,假如父类中一些方法不包含任何逻辑,而且需要有子类重写,应该使用

()关键字来申明父类这些方法。

A.final

B.static

C.abstract

D.void

29.给定两个java程序,以下:

publicinterfaceFace•

intcounter=40;

)

publicclassTestimplementsFace{

privatestaticintcounter;//默认值为0

publicstaticvoidmain(String[]args){

System.out.printIn(++counter);

)

)

Test.java编译运行结果是()。

A.40

B.41

C.0

D.1

30.Java中,假如类C是类B子类,类B是类A子类,那么下面描述正确是()。

A.C能够继承B中公有组员,一样也能够继承A中公有组员

B.C只继承了B中组员

C.C只继承了A中组员

D.C不能继承A或B中组员

31.给定java程序,以下:

publicclassTest{

privatestaticfinalintcounter=10;〃常量不能被改变默认大写

COUNTER

publicstaticvoidmain(String(]args){

System.out.printin(++counter);

}

)

编译运行Test.java,结果是()

A.10

B.11

C.编译错误

D.运行时出现异常

32.下面关于变量及其范围陈说哪些是正确?()

A.实例变量(区分于类变量,属于对象变量)是类组员变量。

B.实例变量用关键字static申明。

C.在方法中定义局部变量在该方法被执行时创建

D.局部变量在使用前必须被初始化。

33.给定一个Java程序代码,以下:

publicclassTest(

intcount=9;

publicvoidcountl(){

intcount=10;

System.out.printin(''countl=,,+count);//10

}

publicvoidcount2(){

System.out.printin("count2="+count);//9

}

publicstaticvoidmain(Stringargs[]){

Testt=newTest();

t.countl();

t.count2();

}

编译运行后,输出结果是

A.countl=9count2=9

B.countl=10count2=9

C.countl=10count2=10

D.countl=9count2=10

34.关于结构方法和set方法,关于这两个方法描述错误是()

A.结构方法是用来为对象组员变量进行初始化赋值

B.set方法是为对象中组员变量赋值

C.带参结构在创建对象时候也能够为组员变量赋值

D.类中带参结构方法与set方法功效是完全重复,能够只选其一〃结构方法只能

在创建对象时候为组员变量赋值:set方法功效是在对象仓J建之后对组员变量值进行修

改。set方法在对象整个生命周期都能够对组员变量值进行修改,相对灵活。

35.程序Test.java编译运行后输出结果是()。

publicclassTest{

String

温馨提示

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

最新文档

评论

0/150

提交评论