程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> java了解多態(菜鳥出征),java多態

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

編輯:JAVA綜合教程

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,此時還是父類的。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved