相关疑难解决方法(0)

从超类到子类的显式转换

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.为什么编译器无法检测到此错误?

java casting classcastexception

140
推荐指数
4
解决办法
18万
查看次数

标签 统计

casting ×1

classcastexception ×1

java ×1