利点:
コードのメンテナンス性を向上(継承保証)
スケーラビリティの向上(多形性の保証)コード
短所:
あなたは、機能固有のサブクラスを使用することはできません
1 クラスduotaidemo { 2 公共 静的 ボイドメイン(文字列[]引数){ 3。 フー= F 新しい新しい紫(); // アップキャスト 4。 f.show(); 5 // f.method(); 6 紫= Z( ZI)F; // 下方遷移 7。 z.method(); 8 } 9。 パブリック 静的 クラスフー{ 10 公共 ボイドショー(){ 11 のSystem.out.println( "表示FU" ); 12である } 13であります } 14の 15 公共の 静的 クラスは、 Z 1は延びフー{ 16 公共 ボイドショー(){ 17 のSystem.out.println( "表示ZI" )。 18 } 19 20 公共 ボイド方法(){ 21 のSystem.out.println( "メソッドZI" )。 22 } 23 } 24 }
結果:
ショーのZI
方法ZI
あなたが特定の機能を使用する場合は、サブクラスは、親クラスの参照はサブクラスに強い引用置きます。
アップキャスト:
新しい新しい紫()F =フー;
意気消沈:
紫= Z(ZI)F; // fの要件は紫に変換することができなければなりません。