鞏固java(五)----通過執行個體理解java多態

來源:互聯網
上載者:User

標籤:

package duotai;class A{public String show(){return "A";}}class B extends A{public String show(){return "B";}public String onlyB(){return "onlyB";}}class C extends B{public String show(){return "C";}public String onlyC(){return "onlyC";}}class D{public String show(String item){return "D+"+item;}public int show(int item){return item;}}public class Main {       public static void main(String[] args) {A a = new A();B b = new B();C c = new C();A ab = new B();  A ac = new C();B bc =new C();/* * B是A的子類,C是B的子類,A中有方法show(),B和C都對其進行了重寫。 * 重寫是父類與子類多態性的表現,子類的對象調用該方法將調用子類中的定義的此方法,父類中的此方法被屏蔽。 * 1,2,3分別為A,B,C的對象調用該方法,所以返回結果分別為A,B,C *  *///1System.out.println("1:a.show()="+a.show());      //輸出:1:a.show()=A//2System.out.println("2:b.show()="+b.show());      //輸出:2:a.show()=B//3System.out.println("3:c.show()="+c.show());      //輸出:3:a.show()=C/* * 當超類通過聲明的引用變數(稱其為“對象的引用”其實更合適)調用其子類的對象時,它調用的方法必須是超類中擁有的子類的方法。 *    4中變數ab是由A聲明的,引用了B的對象,所以ab.show()調用的是B類中的show()方法;但是如果使用ab變數調用onlyB() * 是調不到的,因為超類中沒有該方法。 * 5,6同4 *  *///4        System.out.println("4:ab.show()="+ab.show());    //輸出:4:ab.show()=B        //5        System.out.println("5:ac.show()="+ac.show());    //輸出:5:ac.show()=C        //6        System.out.println("6:bc.show()="+bc.show());    //輸出:6:bc.show()=C                /*         * 在D中有兩個show方法,但它們的參數和傳回值不同,這是方法的重載。         * 重載是一個類中多態性的一種表現,方法名相同,但參數的個數、類型,傳回值至少有一個不同。         *          */        D d =new D();        //7        System.out.println("7:d.show(itemStr)="+d.show("dd"));   //7:d.show(itemStr)=D+dd        //8        System.out.println("8:d.show(itemInt)="+d.show(1));      //8:d.show(itemInt)=1}              }

鞏固java(五)----通過執行個體理解java多態

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.