私はこれを検索しましたが、まだ混乱しています。
以下は、スタンダード クラスのキャスティングの例です。
public class Q {
public static void main(String... str){
Number b = 10;
Integer i = (Integer)b; // Workes Fine
}
}
以下は、ユーザー定義クラスのキャストの例です
class H{}
class I extends H{}
public class Q extends I{
public static void main(String... str){
I i = (I)new H(); //Show runtime java.lang.ClassCastException
}
}
上記は継承の例です。そのような :
- 整数拡張数
- I 拡張 H
Integer i = (Integer)b が機能し、I i = (I)new H() が機能しないのはなぜですか?