Java學習總結之方法重載和方法重寫

在學習方法的階段我學習了方法重載(Overload),而在學習面向對象三大特性之繼承的時候我又學習了方法重寫(Override)。ide

 

概念:

方法重載:在同一個類中,容許存在一個以上的同名方法,只要它們的參數個數不一樣或者類型不一樣便可。學習

方法重寫: 子類中出現和父類中如出一轍的方法聲明,方法的名稱和參數列表都相同。spa

 

特色:

方法重載:與返回值類型無關,只看方法名和參數列表 在調用時,虛擬機經過參數列表的不一樣來區分同名方法。對象

方法重寫 建立子類對象時方法名相同就調用子類的。繼承

 

 

使用場景:

方法重載:在同一個類須要定義兩個或者多個方法,方法功能類似但參數類型不一樣時,使用方法重載使方法名相同。ci

方法重寫:當子類須要父類的功能,而功能主體子類又有本身特有的功能時,能夠重寫父類的方法。這樣即沿襲了父類的功能,也定義了子類特有的功能(使用super關鍵字)權限控制

 

 

注意事項:

方法重載:虛擬機

  方法重載參數列表的不一樣能夠分爲:1、參數個數不一樣;  2、參數類型不一樣,  3、參數的多類型順序不一樣。table

  舉例:一、  (int a, int b)       (int a, int b, int c)class

     二、  (int a, int b)      (double a, doule b) 

     三、  (int a, doule b)     (doulbe a, int b)

方法重寫:

  一、父類的私有方法不能被子類重寫。

  二、子類重寫父類的方法訪問權限不能更低(Java 中一共有四種訪問權限控制,其權限控制的大小狀況是這樣的:public  >  protected  >  default  >  private )。

權限修飾符

 

public

protected

default

private

同一類中

 √

 √

 √

同一包子類,其餘類

 √

 √

 √

 

不一樣包 子類

 √

 √

 

 

不一樣包 其餘類

 √

 

 

 

  三、子類方法的返回值必須小於等於父類方法的返回值範圍。

  四、靜態的方法也要使用靜態方式書寫。

相關文章
相關標籤/搜索