抽象的superlcass帮助

时间:2011-05-13 12:24:09

标签: java

A是具体类B和C的抽象超类。所有的构造函数 三个类不带参数。定义了以下变量:

A a;
B b;
C c;

以下一项或多项指定将导致错误 编译时间?

(i) a = new C();
(ii) b = new C();
(iii) a = new A();
(iv) b = (B) new A();

感谢任何帮助

2 个答案:

答案 0 :(得分:2)

A是抽象的,因此任何创建A直接的尝试都将失败。此外,B和C之间的关系没有明确定义,但我认为第二种情况也会失败,除非B是C的超类。

答案 1 :(得分:0)

因为A是B和C的抽象超类,所以无法初始化A.但是,它的子类可以存储在超类(A)类型的对象中,因为它共享或定义了A中包含的方法。

应该足以弄明白。