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();
感谢任何帮助
答案 0 :(得分:2)
A是抽象的,因此任何创建A直接的尝试都将失败。此外,B和C之间的关系没有明确定义,但我认为第二种情况也会失败,除非B是C的超类。
答案 1 :(得分:0)
因为A是B和C的抽象超类,所以无法初始化A.但是,它的子类可以存储在超类(A)类型的对象中,因为它共享或定义了A中包含的方法。
应该足以弄明白。