有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

当代码试图将树向下转换为红杉时,将抛出java ClassCastException

在下面的代码中,当我们将树向下投射到Redwood时,在第7行并没有错误,但为什么在将树向下投射到Redwood时在第10行出现运行时错误呢

public class Redwood extends Tree {
    public static void main(String[] args) {
        new Redwood().go();
    }
    void go() {
        go2(new Tree(), new Redwood());
        go2((Redwood) new Tree(), new Redwood());// no error here
    }
    void go2(Tree t1, Redwood r1) {
        Redwood r2 = (Redwood)t1;// runtime error here
        Tree t2 = (Tree)r1;
    }
}
class Tree { }

共 (0) 个答案