JAVAOOP测试题.docx

上传人:b****7 文档编号:9668110 上传时间:2023-02-05 格式:DOCX 页数:18 大小:19.70KB
下载 相关 举报
JAVAOOP测试题.docx_第1页
第1页 / 共18页
JAVAOOP测试题.docx_第2页
第2页 / 共18页
JAVAOOP测试题.docx_第3页
第3页 / 共18页
JAVAOOP测试题.docx_第4页
第4页 / 共18页
JAVAOOP测试题.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

JAVAOOP测试题.docx

《JAVAOOP测试题.docx》由会员分享,可在线阅读,更多相关《JAVAOOP测试题.docx(18页珍藏版)》请在冰豆网上搜索。

JAVAOOP测试题.docx

JAVAOOP测试题

JAVAOOP测试题

1、分析下列代码

classAclass{

Aclass(){

System.out.print(“Aclass”);

}

}

publicclassBclassextendsAclass{

publicBclass(){

System.out.println(“Bclass”);

}

publicstaticvoidmain(String[]args){

Aclassa=newAclass();

Aclassa1=newBclass();

}

}

其执行的结果为()。

a)编译失败

b)编译成功且输出”AclassBclass”

c)编译成功且输出”AclassAclassBclass”

d)编译成功且输出”AclassBclassBclass”

2、分析下列程序

ClassSuper{

publicinti=0;

publicSuper(Stringtext){

i=1;

}

}

publicclassSubextendsSuper{

publicSub(Stringtext){

i=2;

}

publicstaticvoidmain(String[]args){

Subsub=newSub(“Hello”);

System.out.println(sub.i);

}

}

该程序的结果是()。

a)编译失败

b)编译成功且输出“0”

c)编译成功且输出“1”

d)编译成功且输出“2”

3、分析下列程序:

publicclassSuper{

publicintgetLength(){

return4;

}

}

publicclassSubextendsSuper{

publicintgetLength(){

return5;

}

publicstaticvoidmain(String[]args){

Supersooper=newSuper();

Subsub=newSub();

System.out.println(sooper.getLength()+”,”+sub.getLength());

}

}

a)4,4

b)4,5

c)5,4

d)5,5

4、下面有关Java异常处理模型的说法错误的是()。

a)一个try块只能有一条catch语句

b)一个try块中可以不使用catch语句

c)Catch块不能单独使用,必须始终与try块在一起

d)Finally块不能单独使用,必须始终与try块在一起

5、下列选项中关于Java中super关键字的说法错误的是()。

a)super关键字是在子类对象内部指代其父类对象的引用

b)super关键字不仅可以指代子类的直接父类,还可以指代父类的父类

c)子类可以通过super关键字调用父类的方法

d)子类可以通过super关键字调用父类的属性

6、下列选项中关于Java中this关键字的说法错误的是()。

a)this是在对象内部指代对象自身的引用

b)this关键字可以在类中的任何位置使用

c)this只和特定的对象关联,而不和类关联

d)同一个类的不同对象有不同的this

7、分析下列程序:

classA{

publicintgetNumber(){

return1;

}

}

classBextendsA{

publicintgetNumber(){

return2;

}

publicstaticvoidmain(Stringargs[]){

Ab=newB();

System.out.println(b.getNumber());

}

}

该程序的结果是()。

a)编译成功并输出1

b)编译成功并输出2

c)编译在第8行引起错误

d)编译在第14行引起错误

e)编译成功但执行时在第14行抛出异常

8、分析下列程序:

classA{

publicintgetNumber(inta){

returna+1;

}

}

ClassBextendsB{

PublicintgetNumber(inta,charc){//第7行

Returna+2;

}

Publicstaticvoidmain(String[]args){

Aa=newB();

System.out.println(a.getNumber(0));//第14行

}

}

该程序的执行结果是()。

a)编译成功并输出“1”

b)在第7行出现编译错误

c)编译成功并输出“2”

d)在第14行出现编译错误

9、在Java中,Object类是所有类的父亲,用户自定义类默认扩展自Object类,下列选项中的()方法不属于Object类的方法。

a)equals(Objectobj)

b)getClass()

c)toString()

d)trim()

10、给定如下Java代码,关于super的用法,以下描述正确的是()。

classCextendsB{

publicC(){

super();

}

}

a)用来调用类B中定义的super()方法

b)用来调用类C中定义的super()方法

c)用来调用类B的无参构造方法

d)用来调用类B中第一个出现的构造方法

11、在Java中,类Test的代码如下所示,假设类Test的实例化对象名为t,则选项()中的语句能正确调用Test类的方法。

classTest{

publicintchange(){

System.out.println(“Noparameters”);

return0;

}

Publicvoidchange(doublem){

System.out.println(“parameteris:

”+m);

}

}

a)Test.change(15.2f);

b)Test.change();

c)t.change(250.5);

d)inta=t.change(13);

12、给定如下Java代码,编译运行时将输出()。

classBase{

inti=1;

publicvoidamethod(){

System.out.println(“Base.amethod()”);

}

Base(){

amethod();

}

}

publicclassDescendextendsBase{

inti=-1;

publicstaticvoidmain(String[]args){

Baseb=newDescend();

System.out.println(b.i);

b.amethod();

}

publicvoidamethod(){

System.out.println(“Descend.amethod()”);

}

}

a)Base.amethod()

-1

Descend.amethod()

b)Descend.amethod()

1

Descend.amethod()

c)1

Descend.amethod()

d)Base.amethod()

1

Descend.amethod()

13、在Java类中,使用以下()声明语句来定义公有的int型常量MAX.

a)publicintMAX=100;

b)finalintMAX=100;

c)publicstaticintMAX=100;

d)publicstaticfinalintMAX=100;

14、在Java中,已定义两个接口B和C,要定义一个实现这两个接口的类,以下语句正确的是()。

a)interfaceAextendsB,C

b)interfaceAimplementsB,C

c)classAimplementsB,C

d)classAimplementsB,implementsC

15、在Java中,有如下两个类Student和Person。

如果Student是Person的子类,则下列声明对象x的语句中错误的是()。

a)Personx=newStudent()

b)Personx=newPerson()

c)Studentx=newPerson()

d)Studentx=newStudent()

16、分析如下所示的Java代码,其中this关键字的意思是()。

publicclassTest{

privateStringname;

publicStringgetName(){

returnname;

}

publicvoidsetName(Stringname){

this.name=name;

}

}

a)。

b)是在Test类的内部指代自身的引用

c)Test类的对象引用其他Test类对象

d)指所在的方法

17、给定如下Java程序,这段程序编译运行后的输出结果是()。

publicclassTest{

publicstaticvoidaMethod()throwsException{

try{

thrownewException();

}finally{

System.out.println(“Finally”);

}

}

publicstaticvoidmain(String[]args){

try{

aMethod();

}catch(Exceptione){

System.out.print(“Exception”);

}

System.out.print(“Finished”);

}

}

a)FinallyException

b)Finally

c)ExceptionFinallyFinished

d)FinallyExceptionFinished

18、下列对Java中的继承描述错误的说法是()。

a)子类至少有一个基类

b)子类可作为另一个子类的基类

c)子类可以通过this关键字来访问父类的私有属性

d)子类继承父类的方法访问权限保持不变

19、Try{}里有一个return语句,那么紧跟在这个try后的finally{}里的代码会不会被执行,什么时候被执行?

a)不会执行

b)会执行,在return前执行

c)会执行,在return后执行

d)会执行,可能在return前执行,也可能在return后执行

20、下列属于方法重载好处的是()。

<选择两项>

a)实现多态

b)方法名的复用

c)提高程序运行速度

d)使用方便,提高可读性

21、面向对象方法的多态性是指()。

a)一个类可以派生出多个特殊类

b)一个对象在不同的运行环境中可以有不同的变体

c)拥有相同父类或接口的不同对象可以以适合自身的方式处理同一件事

d)一个对象可以是由多个其他对象组合而成的

22、Dog是Animal的子类,下面代码错误的是()。

a)Animala=newDog();

b)Animala=(Animal)newDog();

c)Dogd=(Dog)newAnimal();

d)Objecto=newDog();

23、下面定义Java的常量,正确的是()。

<多选>

a)publicstaticfinaldoublePI=3.14

b)publicfinalstaticdoublePI=3.14;

c)finalpublicstaticdoublePI=3.14;

d)staticpublicfinaldoublePI=3.14

24、这段代码的输出结果是()。

try{

System.out.print(“try,”);

return;

}catch(Exceptione){

System.out.print(“catch,”);

}finally{

System.out.pirnt(“finally”);

}

a)try,

b)try,catch,

c)try,finally

d)try,catch,finally

25、这个方法的返回值是()。

Publicintcount(){

try{

return5/0;

}catch(Exceptione){

return2*3;

}finally{

return3;

}

}

a)0

b)6

c)3

d)程序错误

26、下面代码的运行结果是()。

publicclassCar{

publicvoidrun(){

System.out.println(“汽车在跑”);

}

}

publicclassBenzextendsCar{

publicvoidrun(){

System.out.println(“奔驰在跑”);

}

}

publicstaticvoidmain(String[]args){

Carcar=(Car)(newBenz());

car.run();

}

a)汽车在跑

b)奔驰在跑

c)无法编译

d)运行时将抛出异常

27、下面的异常处理代码的输出结果是()

publicstaticvoidmain(String[]arg){

try{

intresult=6/0;

System.out.print("try,");

}catch(ArithmeticExceptione1){

System.out.print("ArithmeticException异常,");

thrownewException();

}catch(Exceptione2){

System.out.print("Exception异常,");

}finally{

System.out.print("finally");

}

}

a)程序编译错误

b)ArithmeticException异常,finally

c)ArithmeticException异常,Exception异常,finally

d)try,ArithmeticException异常,Exception异常,finally

28、关于Java的接口,下面说法错误的是()

a)可以被继承

b)可以只定义常量,而没有任何方法

c)可以这样定义常量:

publicintEVEREST=8848;

d)方法的参数不可以是接口

29、下列代码的输出结果是()

publicclassExample{

Stringstr=newString("good");

char[]ch={'a','b','c'};

publicstaticvoidmain(String[]args){

Exampleex=newExample();

ex.change(ex.str,ex.ch);

System.out.print(ex.str+"and");

System.out.println(ex.ch);

}

publicvoidchange(Stringstr,charch[]){

str="testok";

ch[0]='g';

}

}

a)goodandabc

b)testokandabc

c)testokandgbc

d)goodandgbc

30、能与publicvoidmethodA(){}方法形成重载的有()。

a)privatevoidmethodA(){}

b)privateintmethodA(){return1;}

c)publicvoidmethodA(inta){}

d)publicvoidmethodA()throwsException{}

31、子类中能与父类publicvoidmethodA(inta){}方法形成重写的有()。

a)publicintmethodA(inta){return1;}

b)publicvoidmethodA(inta)throwsException{}

c)privatevoidmethodA(inta){}

d)publicvoidmethodA(intb){}

32、关于构造方法,下面说法错误的是()<选择两项>

a)父类只有一个带参的构造方法,子类必须显示声明带参构造方法

b)子类无参构造方法中没有写super();不会调用父类无参构造方法

c)子类无参构造方法不可以用super(inta);调用父类对应的带参构造方法

d)实例化一个类的对象时,一定会先调用java.lang.Object的构造方法

33、阅读下面代码,将会输出()

publicclassTesta{

Integera=newInteger(10);

Integerb=newInteger(10);

publicstaticvoidmain(String[]args){

TestatestA=newTesta();

if(testA.a==testA.b){

System.out.print("很");

}

if(testA.a.equals(testA.b)){

System.out.print("好");

}

}

}

a)很

b)好

c)很好

d)抛出NullPointerException异常

34、关于Java的异常和异常处理,下面说法错误的是()。

<多选>.

a)try/catch/finally块里都可以嵌套try/catch/finally

b)一个try可以对应多个catch

c)如果发生的异常没有被捕捉,异常将被系统忽略

d)异常处理时可以只用try块。

35、关于Java的继承,下面说法错误的是()<多选>

a)接口可以继承接口

b)子类不可以继承父类的私有属性和私有方法

c)所有类都是java.lang.Object的子类,但是不可以这样写:

publicclassEarthextendsObject{}

d)一个类不可以继承(extends)另一个类,同时又实现(implements)一个接口

36、阅读下面的代码,正确的说法是()

classFoo{

intnum;

Bazcomp=newBaz();

}

classBar{

booleanflag;

}

classBazextendsFoo{

Barthing=newBar();

doublelimit;

}

a)Bar是Baz子类

b)Foo包含Bar

c)Baz是Foo子类

d)Foo是Baz子类

e)Baz包含Bar

二、简答

1、java中构造方法的功能和特点,构造方法和一般方法的区别?

2、java中的访问控制符包含哪些?

各访问控制符的作用?

3、构造方法可以重载,重写吗?

4、方法的重载和方法的重写的区别?

5、this和super的作用

6、 在java中一个类被声明为final类型,表示了什么意思?

7、谈谈final, finally的区别。

8、String s = new String("xyz");创建了几个String Object?

 

9、接口是否可继承接口?

抽象类是否可实现(implements)接口?

抽象类是否可继

承实体类(concreteclass)?

10、String类可否继承

11、abstractclass和interface有什么区别

12、接口是否可继承接口?

抽象类是否可实现(implements)接口?

抽象类是否可继承实体类(concreteclass)

13、构造器Constructor是否可被override

14、try{}里有一个return语句,那么紧跟在这个try后的finally{}里的code会不会被执行,什么时候被执行,在return前还是后

15、4、publicclassA{

static{

System.out.print("1");

}

publicA(){

System.out.print("2");

}

}

publicclassBextendsA{

static{

System.out.print("a");

}

publicB(){

System.out.print("b");

}

}

publicclassHello{

publicstaticvoidmain(String[]arge){

System.out.println("");

Aab=newB();

System.out.println("");

ab=newB();

}

}

的输出结果:

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

当前位置:首页 > 党团工作 > 入党转正申请

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

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