黒本でSilver試験勉強中の者です
クラスのキャストに関して、コンパイルエラーの時と実行時例外の時の違いがどうしても腑に落ちません
public class A {} public class B extends A {} public class C extends A {}
このような前提の時、
public class Main { public static void main(String[] args) { /* A a = new B(); B b = (B)a; C c = (C)b; //これだとコンパイルエラー 1. */ A a = new A(); B b = (B)a; //実行時例外 2. } }
1.がなぜコンパイルエラーで2.が何故実行時例外になるのかどうしても理解できません
7章の問12と13の解説を読んでも違いが判らず・・・一体どう理解したものでしょうか

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/04/25 01:02 編集
2019/04/25 01:05
2019/04/25 01:29
2019/04/25 01:38 編集
2019/04/25 01:35
2019/04/25 01:37