【发布时间】:2021-12-12 09:35:34
【问题描述】:
是否有可能将 o1 或 o2 转换为 A 并且程序将运行?为什么最后一条语句是运行时错误?
public class A{
public A(Object object)
{
}
public A(){
}
public String toString(){
return "A";
}
}
public class Main{
public static void main(String []args){
A a4 = new A();
Object o1 = new Object();
Object o2 = new A(o1);
a4 = o1; //Compilation error
o2 = o1;
((A)o1).toString();//Runtime error
a4.toString();
((A)o2).toString();//Runtime error
}
}
【问题讨论】:
标签: java casting polymorphism downcast