java 方法重載與重寫的歸納

來源:互聯網
上載者:User

標籤:優點   否則   pac   xtend   注意   oat   16px   繼承   決定   

方法重載:
Java的方法重載,就是在類中可以建立多個方法,它們可以有相同的名字,但必須具有不同的參數,即或者是參數的個數不同,或者是參數的類型不同。調用方法時通過傳遞給它們的不同個數和類型的參數來決定具體使用哪個方法

範例程式碼:

public class Test {

//無傳回值有有int形的參數

void receive(int i) {
System.out.println("i="+i);
}

//無傳回值,有float形的參數

void receive(float f) {
System.out.println("f="+f);
}

//無傳回值,有String形的參數

void receive(String s) {
System.out.println("s="+s);
}

public static void main(String [] args){
Test m = new Test();
m.receive(1234);
m.receive(56.78f);
m.receive("方法重載");
}
}


注意:
Java的方法重載要求同名的方法必須有不同的參數表,僅有傳回型別不同是不足以區分兩個重載的方法。


方法重寫:
在Java和其他一些進階物件導向的程式設計語言中,子類可繼承父類中的方法,而不需要重新編寫相同的方法。但有時子類並不想原封不動地繼承父類的方法,而是想作一定的修改,這就需要採用方法的重寫。方法重寫又稱方法覆蓋。
範例程式碼:
package text;

public class test{
public static void main(String[] args) {
new Derived();
}
}
class Base{
private int i=2;
public Base(){
display();
}
public void display(){
System.out.println(i);
}
}
class Derived extends Base{
private int i=22;

public Derived(){
i = 222;
}
public void display(){
System.out.println(i);
}
}

super關鍵字:
若子類中的方法與父類中的某一方法具有相同的方法名、傳回型別和參數表,則新方法將覆蓋原有的方法。 如需父類中原有的方法,可使用super關鍵字,該關鍵字引用了當前類的父類。


總結:
方法重載:
1.必須具有不同的參數列表;
2.可以有不同的傳回型別,只要參數不同就可以了。
3.可以有不同的存取修飾詞。
方法重寫:
1.參數列表必須完全與被重寫的方法相同,否則不能稱其為重寫而是重載。
2.傳回型別必須相同。
3.存取修飾詞的限制一定要大於被重寫方法的存取修飾詞(public>protected>default>private)
4.方法重寫主要優點是能夠定義某個子類專屬的特徵。這也是多態的體現。

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.