第七章练习题(多态)
1.下列自‘关多态的叙述正确的是哪项?(选两项) A.父类的引用指向子类的实例是一种多态 B. 子类的引用指向子类的实例是一种多态
c.接口的引用指向实现该接口类的实例是一种多态 D.抽象类的引用指向抽象类的实例是一种多态
2.Java中方法绑定有哪些形式?(选两项) A.编译时刻绑定 B.运行时刻绑定 c.静态绑定 D.私有绑定
3.表达式\返回的值是哪项? 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.所有接口
1-41
6.使用下列哪些关键字可以判定实参的具体类型? A. as B. is
C. instanceof D. extends
7. 现有: class Pencil {
public void write (String content){ System.out.println (\ } }
class RubberPencil extends Pencil{ public void erase (String content){ System.out.println (\ } }
执行下列代码的结果是哪项? Pencil pen=new RubberPencil(); pen.write (\; pen.erase (\ A. Write Hello Erase Hello B. Erase Hello Write Hello C.编译错误
D.运行时抛出异常
8. 现有: class Pencil {
public void write (String content){
System.out.println (\; } }
class RubberPencil extends Pencil{ public void write (String content){
System.out.println (\ }
public void erase (String content){ System.out.println (\ } }
1-42
执行下列代码的结果是哪项?
Pencil pen=new RubberPencil(); pen.write(\; 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( \ } }
class RubberPencil extends Pencil{ public void write (String content){
System.out.println(\; }
public void erase (String content){
System.out.println( \ } }
执行下列代码的结果是哪项? Pencil pen=new Pencil();
(( RubberPencil) pen).write( \ A. Write Hello
B. Rubber Write Hello c.编译失败
D.运行时抛出异常
1-43
1 1.现有: class TestA {
public void start() { System.out.println(\ } }
public class TestB extends TestA {
public void start() { System.out.println(\ } public static v.id main(string[] args) ( ((TestA)new TestB()).start(); } }
运行结果是哪项? A. TeStA B. TeStB c.编译失败
D.运行时抛出异常
12.现有:
class A {public String name=\
class B extends A {public String name=\ 执行如下代码后的结果是哪项? A a=new B();
System.out.println(a.name); A. a B. b
c.编译失败
D.运行时抛出异常
13.现有: 1 Interface F{}
2 class A implements F{} 3 class B extends A{} 4 class C extends B{
5 public static void main(String[] args){ 6 B b=new B();
7 //inSert C0de here 8 } 9 }
1-44
下列哪行代码插入到第7行,将抛出java.lang.ClassCaseException异常7
A. A a=b;
B. F f= (C)b; C. F f= (A)b;
D. B bb= (B)(A)b;
14.现有:
1. class Guy { String greet() { return \ } j
2. class Cowboy extends Guy { String greet() { \
3. class Wrangler extends Cowboy { String { return \
4.
5. class Greetings2 {
6. public static void main (String [] args) { 7. Guy g=new Wrangler(); 8. Guy g2=new Cowboy(); 9. Wrangler w2=new Wrangler();
10. System. out .print (g.greet()+g2.greet()+w2 .greet());11. } 12. }
结果是什么? 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();
return.
greet() 1-45