第七个猴子java_黑猴子的家:Java SE 练习题第七章

尾部都有答案

第七章练习题(多态)

(1)下列自‘关多态的叙述正确的是哪项?(选两项)

A. 父类的引用指向子类的实例是一种多态

B. 子类的引用指向子类的实例是一种多态

C. 接口的引用指向实现该接口类的实例是一种多态

D. 抽象类的引用指向抽象类的实例是一种多态

(2)Java中方法绑定有哪些形式?(选两项)

A. 编译时刻绑定

B. 运行时刻绑定

C. 静态绑定

D. 私有绑定

(3)表达式"hello" instance of String返回的值是哪项?

A. true

B. false

C. 1

D. 0

(4)求平方根方法public static double sqrt (double a)可以传递的参数 类型有哪些?(选三项)

A. byte

B. float

C. String

D. long

(5)涉及类MyClass的方法签名足public void find(MyClass a),那么该方法可接收的实际参数的类型可以是哪些?(选两项)

A. MyClass类的类型

B. MyClass子类的类型

C. Object类型

D.所有接口

(6)使用下列哪些关键字可以判定实参的具体类型?

A. as

B. is

C. instanceof

D. extends

(7)现有

Class Pencil {

public void write (String content){

System.out.println ("Write"+content);

}

}

Class RubberPencil extends Pencil{

public void erase (String content){

System.out.println ("Erase"+content);

}

}

执行下列代码的结果是哪项?

Pencil pen=new RubberPencil();

pen.write ("Hello");

pen.erase ("Hello");

A. Write Hello

Erase Hello

B. Erase Hello

Write Hello

C. 编译错误

D. 运行时抛出异常

(8)现有

Class Pencil {

public void write (String content){

System.out.println ("Write"+content);

}

}

Class RubberPencil extends Pencil{

public void write (String content){

System.out.println ("Rubber Write"+content);

}

public void erase (String content){

System.out.println ("Erase "+content);

}

}

执行下列代码的结果是哪项?

Pencil pen=new RubberPencil();

pen.write("Hello");

A. Write Hello

B. Rubber Write Hello

C. 编译错误

D. 运行时抛出异常

(9)下列哪些方法是在编译时刻绑定的?(选三项)

A.静态方法

B. private方法

C.final方法

D.非private方法

(10)现有

Class Pencil {

public void write (String content){

System.out.println( "Write",+content){

}

}

Class RubberPencil extends Pencil{

public void write (String content){

System.out.println("Rubber Write"+content);

}

public void erase (String content){

System.out.println( "Erase "+content);

}

}

执行下列代码的结果是哪项?

Pencil pen=new Pencil();

(( RubberPencil) pen).write( "Hello");

A. Write Hello

B. Rubber Write Hello

C. 编译失败

D. 运行时抛出异常

(11)现有

Class TestA {

public void start() { System.out.println("TestA"); }

}

public class TestB extends TestA {

public void start() { System.out.println("TestB"); }

public static v.id main(string[] args) (

((TestA)new TestB()).start();

}

}

运行结果是哪项?

A. TeStA

B. TeStB

C. 编译失败

D. 运行时抛出异常

(12)现有

Class A {public String name="a"}

Class B extends A {public String name="b"}

a = new B();

System.out.println(a.name);

执行如上代码后的结果是哪项?

A. a

B. b

C. 编译失败

D. 运行时抛出异常

(13)现有

Interface F {}

class A implements F {}

class B extends A {}

class C extends B {

public static void main(String[] args){

B b=new B();

//inSert C0de here

}

}

下列哪行代码插入到第7行,将抛出java.lang.ClassCaseException异常?

A. A a=b;

B. F f = (C)b;

C. F f = (A)b;

D. B bb = (B)(A)b;

(14)现有

class Guy { String greet() { return "hi"; } }

class Cowboy extends Guy { String greet() { return. "howdy";}}

class Wrangler extends Cowboy { String greet() { return "orch!"; } }

class Greetings2 {

public static void main (String [] args) {

Guy g=new Wrangler();

Guy g2=new Cowboy();

Wrangler w2=new Wrangler();

System. out .print (g.greet()+g2.greet()+w2 .greet());

}

}

结果是什么?

A. hi hi ouch!

B. ouch! howdy ouch!

C. hi howdy ouch!

D. 编译失败

E. 运行的咐候有异常抛出

(15)现有

Class ClassA {}

Class ClassB extends ClassA {)

Class ClassC extends ClassA {)

//以及

ClassA p0 = new ClassA();

ClassB pl = new ClassB();

ClassC p2 = new ClassC();

ClassA p3 = new ClassB();

ClassA p4 = new ClassC();

下列哪些是正确的?(选三项)

A. p0=pl;

B. p1 =p2;

C. p2=p4;

D. p2 = (ClassC)pl;

E. p1 = (ClassB)p3;

F. p2 = (Classc)p4;

参考答案

1、AC

2、AB

3、A

4、ABD

5、AB

6、C

7、C

8、B

9、ABC

10、D

11、B

12、A

13、B

14、B

15、AEF

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值