方法重載 和 方法重寫

方法重載 和 方法重寫

什麼是方法的簽名? ——> 方法名稱+形參列表
注:返回值類型不是簽名的一部分
就是=》 方法的名稱 + 形參列表
假如兩個方法的名稱 + 形參列表都一樣,那我們稱是同一個方法

(1)方法的重載 Overload ——是一種現象

1、定義:方法名稱相同,參數的類型、順序或個數 不同(簡稱:參數列表不同)
2、應用場景:通常用於創建完成一組任務相似但參數的類型或參數個數或參數順序不同的方法。

//方法重載舉例
public class MethodOverloading {

    private void receive(int i) {
        System.out.println("收到一個整型數據:"+ i);
    }
    private void receive(double i) {
        System.out.println("收到一個double類型的數據:"+i);
    }
    private void receive(String s) {
        System.out.println("收到一個字符串:"+s);
    }
    public static void main(String[] args) {
        MethodOverloading m=new MethodOverloading();
        m.receive(666);
        m.receive(3.3);
        m.receive("方法重載!");
    }
}

3、總結:在類中可以創建多個同名方法,但是它們必須具有不同的參數:即就是參數類型不同或參數個數不同或者參數順序不同。調用方法時通過傳遞給它們的不同個數和類型的參數,以及傳入參數的順序來決定具體使用哪個方法。

(2)方法的重寫(Overwrite)

1、定義:子類重寫了父類的一個方法,要求:

A.方法名稱相同,形參列表相同,返回類型相同
特例: 允許返回值類型是父類方法返回類型的子類
List method();
ArrayList method(); (其中ArrayList是List的子類)
B.訪問限定符:子類的不能比父類的更封閉,若父類的是public, 子類就不能是private.

2、應用場景:一般發生在父類繼承關係中,子類重寫父類方法。

3、目的:針對同一行爲,子類表現出和父類不同的方式(例子:叫聲)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章