public class Animal {
public void eat() {}
}
public class Dog extends Animal {
public void eat() {}
public void main(String[] args) {
Animal animal = new Animal();
Dog dog = (Dog) animal;
}
}
Run Code Online (Sandbox Code Playgroud)
赋值Dog dog = (Dog) animal;不会生成编译错误,但在运行时会生成一个ClassCastException.为什么编译器无法检测到此错误?