java瞭解多態(菜鳥出征),java多態

來源:互聯網
上載者:User

java瞭解多態(菜鳥出征),java多態

本人大一狗,內容僅為個人的初體會,有誤之處請見諒。

初學者可能剛接觸一些新名詞會感覺好像很厲害的樣子,有種不明覺厲的樣子。

比如多態,泛型,繼承,介面。其實這些也並不是很難,不要被名字所嚇到,不用怕,慢慢就會理解他了。

講一下多態,我認為多態是建立在繼承的基礎之上的。

我們想看看繼承。

class father{    String sex="man";    public void sport()    {        System.out.println("太極");    }} class son extends father{    String sex="small boy";    int age=15;    public void sport()    {        System.out.println("打球");    }}public class DuotaiDemo{        public static void main(String[] args)    {
    father xiaoming=new son();

 

        System.out.println(xiaoming.age);    }}

這裡我們用了 子類繼承了父類,子類繼承了父類的屬性和方法,比如sex 和sport方法

class son extends father{    }

即使在繼承的時候沒有任何的方法和屬性,但是因為繼承,此時子類有了父類的方法和屬性。

-------------------------------------------

所謂多態就是

 father xiaoming=new son();

這裡子類對象父類引用,剛開始這裡理解可能有點繞,所以我們把他分解一下。

new son()這裡建立了一個對象,然後我們用了一個父類型 來引用他即father類

本來繼承就是大盒裝小盒,我們建立了一個大盒,這是我們用小盒來指向這個大盒。

小盒裡面裝的東西東西大盒有,但是大盒裝的(小盒以外)的東西沒有。

同樣我們父類的屬性方法子類都有,但是子類額外的屬性方法,父類沒有

而多態就是用一個小盒引來指向大盒

class son extends father{

  public void homework()
  {
    System.out.println("do homework");
  }

}

比如這裡子類 額外添加了作業方法,父類是沒有。

那麼我們回到多態,我們的子類對象有父類來引用,那麼此是這個引用的變數 調用homework是行不通的

因為父類並沒有homework方法,大盒子裡面的(小盒以外)的東西沒有

而如果是調用sport方法,調用的是子類的方法。(這是特殊之處)

我的簡單理解是這樣,這個父類引用,就是指的是一個父類對象,沒有說指向子類對象。

只不過他有點特殊,如果有和子類共有的方法,調用的就是子類的方法。(當然這不嚴謹)

僅此而已,其他沒有什麼特殊,還是照常一樣,比如調用對象的sex,此時還是父類的。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.