java 方法重載與重寫的歸納
方法重載:
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 方法重載與重寫的歸納