キャスト/アップキャストの問題を解決するための実行可能な戦略はありますか? アップキャストとダウンキャストが許可されている場合は理解していますが、質問に複数のオブジェクトが含まれる傾向がある場合、すぐに混乱する傾向があります。たとえば、次のような質問に対する答えを見つけるための最善のアプローチは何ですか。
質問: 次のプログラムをコンパイルした結果はどうなりますか?
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;
}
}
私は答えにはあまり興味がありませんが、質問を解決するためのアプローチにもっと興味があります。上記のようなアップキャスト/ダウンキャストの質問を解決するために使用できるアプローチ/戦略はありますか? たとえば、参照/オブジェクトを紙に描いて、視覚的な表現を得ることができますか?
ありがとう