面向?qū)ο?多態(tài)性

/*

  • 面向?qū)ο蟮奶卣魅憾鄳B(tài)性
  • 1.多態(tài)性指的是什么?多態(tài)性,可以理解為一個(gè)事物的多種表型形態(tài)。
  • 1)方法的重載與重寫(xiě) 2)子類(lèi)對(duì)象的多態(tài)性
  • 2.子類(lèi)對(duì)象的多態(tài)性使用的前提:①要有類(lèi)的繼承②要有子類(lèi)對(duì)父類(lèi)方法的重寫(xiě)
  • 3.程序運(yùn)行分為編譯狀態(tài)和運(yùn)行狀態(tài)。
  • 對(duì)于多態(tài)性來(lái)說(shuō),編譯時(shí),"看左邊",將此引用變量理解為父類(lèi)的類(lèi)型
  • 運(yùn)行時(shí),"看右邊",關(guān)注于真正對(duì)象的實(shí)體:子類(lèi)的對(duì)象。那么執(zhí)行的方法就是子類(lèi)重寫(xiě)的。
  • 4.子類(lèi)對(duì)象的多態(tài)性,并不使用于屬性。
    */
public class TestPerson {
    public static void main(String[] args) {
        Person p = new Person();
        p.eat();
        p.walk();

        Man m = new Man();
        m.eat();
        m.walk();
        System.out.println();

        // 子類(lèi)對(duì)象的多態(tài)性:父類(lèi)的引用指向子類(lèi)對(duì)象
        Person p1 = new Man();// 向上轉(zhuǎn)型
        // 虛擬方法調(diào)用:通過(guò)父類(lèi)的引用指向子類(lèi)的對(duì)象實(shí)體,當(dāng)調(diào)用方法時(shí),實(shí)際執(zhí)行的是子類(lèi)重寫(xiě)父類(lèi)的方法
        p1.eat();
        p1.walk();
        System.out.println("$" + p1.id);//1001

//      p1.smoking = null;
        // p1.entertainment();

        Person p2 = new Woman();
        p2.eat();
        p2.walk();
        // p2.shopping();
        Woman w = (Woman) p2;// 向下轉(zhuǎn)型,使用強(qiáng)轉(zhuǎn)符:()
        w.shopping();

        // java.lang.ClassCastException
        // Woman w1 = (Woman)p1;
        // w1.shopping();

        // Woman w2 = (Woman)new Man();
        // instanceof:
        // 格式: 對(duì)象a instanceof 類(lèi)A:判斷對(duì)象a是否是類(lèi)A的一個(gè)實(shí)例.是的話,返回true;否則返回false
        // 若a是A類(lèi)的實(shí)例,那么a也一定是A類(lèi)的父類(lèi)的實(shí)例。
        if (p1 instanceof Woman) {
            System.out.println("hello!");
            Woman w1 = (Woman) p1;
            w1.shopping();
        }

        if (p1 instanceof Man) {
            Man m1 = (Man) p1;
            m1.entertainment();
        }

        if (p1 instanceof Person) {
            System.out.println("你好!");
        }

    }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容