Я реализовал этот код:
class A {
//some code
}
class B extends A {
// some code
}
class C {
public static void main(String []args)
{
B b1 = (B) new A();
A a1 = (B) new A();
}
}
Обе эти строки при компиляции отдельно компилируются в порядке, но дают ошибку времени выполнения
с java.lang.ClassException: A cannot be cast into B
.
Почему они хорошо компилируются, но дают ошибку времени выполнения?