首页 > 解决方案 > 向下转换错误 (Java)。以下代码似乎不起作用,感谢任何解释

问题描述

我最近阅读了 Java 中的向上转换、向下转换和向下转换。我尝试了以下代码,但似乎不起作用。

class Super {
    void print() {
        System.out.println("Super");
    }
}

class Sub extends Super {
    void print() {
        System.out.println("Sub");
    }
}

class Program {
    public static void main(String[] args) {
        Super obj = new Super();
        obj.print();
        Sub obj1 = (Sub) obj;
        obj1.print();
    }
}

任何帮助表示赞赏。

标签: java

解决方案


Subclass可以做任何可以做的事情SuperClass,反之亦然,SubClass可以为自己实现一些方法,因此Subclassis not SuperClassClassCastException如果您调用强制转换运算符,将被抛出。


推荐阅读