abstract class A {  abstract void al();  void a2() { }  }  c

题目
多选题
abstract class A {  abstract void al();  void a2() { }  }  class B extends A {  void a1() { }  void a2() { }  }  class C extends B { void c1() { } }  and:  A x = new B(); C y = new C(); A z = new C();  Which four are valid examples of polymorphic method calls?()
A

x.a2();

B

z.a2();

C

z.c1();

D

z.a1();

E

y.c1();

F

x.a1();

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

写出程序的输出结果

public abstract class A

{

public A()

{

Console.WriteLine('A');

}

public virtual void Fun()

{

Console.WriteLine("A.Fun()");

}

}

public class B: A

{

public B()

{

Console.WriteLine('B');

}

public new void Fun()

{

Console.WriteLine("B.Fun()");

}

public static void Main()

{

A a = new B();

a.Fun();

}

}


正确答案:
 

第2题:

下列程序片段中,能通过编译的是( )。 A.public abstract class Animal{ public void speak;}S

下列程序片段中,能通过编译的是( )。

A.public abstract class Animal{ public void speak;}

B.public abstract class Animal{ public void speak{);}

C.public class Animal{ pubilc abstract void speak;}

D.public abstract class Animal{ pubile abstract void speak{};}


正确答案:A
A。【解析】Java中一个类是一个abstract类的子类,它必须具体实现父类的abstract方法。如果一个类中含有abstract方法,那么这个类必须用abstract来修饰(abstract类也可以没有abstract方法)。有abstract方法的父类只声明,由继承它的子类实现。所以选A。

第3题:

下列程序片段中,能通过编译的是

A.public abstract class Animal{ public void speak();}

B.public abstract class Animal{ public void speak(){}}

C.public class Animal{ public abstract void speak();}

D.public abstract class Animal{ public abstract void speak(){}}


正确答案:A

第4题:

设有程序如下: abstract class absclass { abstract void method1(); } class conclass extends absclass { public void method1() { System.out.println("子类");} } public class mainclass { public static void main(String args[]) { absclass ac1=new absclass(); //语句1 absclass ac2=new conclass(); //语句2 ac2.method1(); //语句3 } } 则main()方法中的第一条语句(即语句1)可以顺利通过编译。()

此题为判断题(对,错)。


答案:错

第5题:

以下语句可以通过编译: class am_I_abstract { abstract void method1(); } 。()

此题为判断题(对,错)。


答案:错

第6题:

下面的代码中有什么错误吗?_______

using System;

class A

{

public virtual void F(){

Console.WriteLine("A.F");

}

}

abstract class B:A

{

public abstract override void F();


正确答案:
答:abstract override 是不可以一起修饰.
        }                                            // new public abstract void F();

第7题:

指出下面哪一项是在抽象类中声明一个抽象方法。( )

A.public abstract method();

B.public abstract void method();

C.public void abstract Method();

D.public void method(){abstract;}


正确答案:B
解析:本题考查在Java抽象类中声明抽象方法的格式。在Java语言中,将abstract关键字修饰的类称为抽象类。与此相对应,用abstract关键字修饰的方法称为抽象方法。当一个类的定义完全表示抽象的概念时,它不应该被实例化为一个对象,因此不能为抽象类实例化对象,也就是说,abstract类必须被继承。与此相应,abstract方法必须被重写。抽象类中可以包含抽象方法,对抽象方法只须声明,而不需要实现具体的内容,格式为 abstract retumType MethodName([paramlist])。对于抽象方法声明格式,abstract关键字不能缺少,此外,还需要注意如下内容:①声明格式中没有{};②最后的“;”不能缺少;③可以用public 或 protected关键字来修饰。选项A错误,缺少返回类型;选项B正确;选项C错误,返回类型要跟在abstxact后面;选项D错误,抽象方法中不需要有具体的实现内容,更不需要{}。

第8题:

Given:10. interface Data { public void load(); }11. abstract class Info { public abstract void load(); }Which class correctly uses the Data interface and Info class?()()

A.

B.

C.

D.

E.

F.


参考答案:A

第9题:

以下语句可以通过编译: abstract class am_I_abstract { abstract void method1(); }。()

此题为判断题(对,错)。


答案:对

第10题:

以下程序是正确的。 class IamAbstract { final int f; double d; abstract void method1(); } 。()

此题为判断题(对,错)。


答案:错

更多相关问题