Javaの初学者です。
キャストについての質問です。
下記のプログラムは実行時エラーが出ます。
class Coffee{ void drip(){ System.out.println("Coffee"); } } public class CoffeMocha extends Coffee{ void addMilk(){ System.out.println("CoffeMocha"); } public static void main(String[] args){ Coffee cof =new Coffee(); CoffeMocha moc=(CoffeMocha)cof; } }
しかし、下記のプログラムでは実行時エラーが出ません。
上記のプログラムで実行時エラーが出て、下記のプログラムでエラーが出ない理由は何でしょうか?
class Test{ public static void main(String[] args){ Super sp=new Sub(); sp.methodA(); Sub sb=(Sub)sp; sb.methodB(); } } class Super{ void methodA(){ System.out.println("super"); } } class Sub extends Super{ void methodB(){ System.out.println("sub"); } }
実行時エラーの内容を質問に追記してください
回答1件
あなたの回答
tips
プレビュー