2021-04-25 多態(tài)

多態(tài)

父類

public class Uncle {
    private String name;
    private int age;
    public void faHongbao() {
        System.out.println("舅舅發(fā)紅包");
    }
}

子類一:

public class UncleOne extends Uncle{

    public void faHongbao() {
        System.out.println("大舅發(fā)紅包");
    }
    public void songYan() {
        System.out.println("大舅喜歡送煙");
    }

}

子類二:

public class UncleTwo extends Uncle{
    public void faHongbao() {
        System.out.println("二舅發(fā)紅包");
    }
}

多態(tài)

        UncleOne dajiu = new UncleOne();
        dajiu.faHongbao();  // 大舅發(fā)紅包
        UncleTwo uncleTwo = new UncleTwo();
        uncleTwo.faHongbao();  // 二舅發(fā)紅包

向上轉型

        Uncle dajiu1 = new UncleOne();
        dajiu1.faHongbao();  // 大舅發(fā)紅包

向下轉型

        Uncle dajiu1 = new UncleOne();
        dajiu1.faHongbao();
      //dajiu1.songYan();   // 會報錯 子類獨有的方法在發(fā)生向上轉型的時候無法在父類中使用
        UncleOne temp = (UncleOne) dajiu1;  // 向下轉型
        temp.songYan();  // 可以調用子類獨有的方法

instanceof

判斷對象是否是指定的類型的實例

避免發(fā)生錯誤的類型轉換

public class Demo02 {
    public static void main(String[] args) {
        Uncle uncle1 = new UncleOne();
        Uncle uncle2 = new UncleTwo();
        if ( uncle1 instanceof UncleOne ) {
            UncleOne u1 = (UncleOne)uncle1;
            u1.faHongbao();
        }
        if (uncle2 instanceof UncleTwo ){
            UncleTwo u2 = (UncleTwo) uncle2;
            u2.faHongbao();
        }
    }
}
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 子類一: 子類二: 啟動類: 多態(tài) 用 父類接受子類的對象,只能調用父類中出現(xiàn)過的方法,子類的擴展的獨有方法無法調...
    瓊瓊i閱讀 128評論 0 0
  • 筆記 多態(tài) 子類一 子類二 多態(tài) 向上轉型 向下轉型 instanceof 判斷對象是否是指定的類型實例 避免發(fā)生...
    lwz001閱讀 174評論 0 0
  • 父類與子類 在Java術語中,如果C1類擴展自另一個類C2,我們稱C2為父類,也稱超類或基類,稱C1為子類,也稱次...
    Steven1997閱讀 1,319評論 1 2
  • 理解多態(tài) 多態(tài),即多種形態(tài),面向對象程序設計語言當中最核心的特征,理解多態(tài)能幫助我們更好的進行程序設計。 生活中的...
    若兮緣閱讀 891評論 0 5
  • 數(shù)據(jù)類型 數(shù)據(jù)類型分類基本數(shù)據(jù)類型:包括 整數(shù) 、 浮點數(shù) 、 字符 、 布爾引用數(shù)據(jù)類型:包括 類 、 數(shù)組 、...
    蟑螞子閱讀 275評論 0 0

友情鏈接更多精彩內容