有没有人有任何可行的策略来解决铸造/上转型问题?我理解何时允许向上转换和向下转换,但是当问题往往涉及多个对象时,我往往很快就会感到困惑。例如,找到这样一个问题的答案的最佳方法是什么:
问题:编译以下程序的结果是什么:
interface Inter{}
class Base implements Inter{}
class Derived extends Base{}
class ZiggyTest2{
public static void main(String[] args){
Base b = new Base();
Derived d = new Derived();
Inter i = (Base)b;
i = (Base)d;
Derived bd = (Derived)b;
b = (Base)i;
}
}
我对答案并不感兴趣,但对解决问题的方法更感兴趣。有什么方法/策略可以用来解决像上面这样的向上转换/向下转换问题吗?例如,可以在纸上绘制参考/对象,以便我可以获得视觉表示,这有帮助吗?
谢谢