class A {

}

class B extends A {

   public static void main(String args[]) {
      B b = new A();
   }

}


为什么这会引发编译时错误?为了抑制编译时错误,我们可以执行B b=(B)new A();,但是也会通过ClassCastException进行。

最佳答案

B是-A A,但A不是B。

您只能将对象分配给自身或其超类的实例,而不是其子类。

关于java - 为什么这会引发编译时错误? Java中类型转换的规则?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25724531/

10-10 18:02