java - 向下转换错误 (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();
}
}
任何帮助表示赞赏。
解决方案
Subclass
可以做任何可以做的事情SuperClass
,反之亦然,SubClass
可以为自己实现一些方法,因此Subclass
is not SuperClass
,ClassCastException
如果您调用强制转换运算符,将被抛出。
推荐阅读
- groovy - 通过 groovy 脚本进行 JMeter 吞吐量整形
- c - 用 C 中的值重新填充数组
- python - numpy - 无论如何要进一步改进(PandasTook(1h26m),NumpyTakes(38m))
- shell - Dockerfile RUN echo 命令使用 /bin/sh 而不是 /bin/sh -c 运行
- ember.js - 属性更新后,emberjs 子组件不会重新渲染
- php - 具有默认值的 PHP 绑定参数
- qt - 如何自定义 TextArea 线条背景颜色
- regex - 在点之前的单词和最后一个单词之间替换为 sed 内容
- r - tidyverse中一组与多组的t检验
- flutter - 带有 d-pad 导航的 Android TV 上的 Flutter webview