java - java中的隐式向上转型和显式向下转型

标签 java inheritance downcast upcasting

当 java 可以隐式进行向上转换时,为什么它不能隐式进行向下转换?请用一些简单的例子解释一下?

最佳答案

重点是向上转型总是会成功,所以它是安全的——而向下转型可能会失败:

String x = getStringFromSomewhere();
Object y = x; // This will *always* work

但是:

Object x = getObjectFromSomewhere();
String y = (String) x; // This might fail with an exception

因为这是一个“危险”的操作,语言强制您明确地执行它 - 您基本上是在对编译器说“我现在比你知道的更多!”

关于java - java中的隐式向上转型和显式向下转型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23042236/

相关文章:

java - 执行上下文 :component-scan programatic way?

java - Android Studio 等待蓝牙启用

Java,填充数组和继承

Java:你能用一个变量来沮丧吗?

flutter - 我可以向下转换一个类,使它丢失原始的构造函数吗?

java - java中的伪代码?

java - JTextArea 在 SwingWorker 中打印时不会自动滚动

scala - 扩展 Scala 集合的简单示例

c++ - 为他人写作

java - 关于类变量的向上转换和向下转换有什么区别