1. 程式人生 > >什麽叫方法簽名

什麽叫方法簽名

編輯器 col 就是 nbsp urn 都是 參數 要求 http

轉載地址:https://blog.csdn.net/qq_27093465/article/details/54907833

方法簽名由方法名稱和一個參數列表(方法的參數的順序和類型)組成。
註意,方法簽名不包括方法的返回類型。不包括返回值和訪問修飾符。
常見的問題應用:重載和重寫。

public class A{
     protected int method (int a, int b) {
         return 0;
     }
 }
class B extends A{
    private int method(int a,long b){
        return
0; } }

重寫要求:
前提是繼承,兩個方法的方法簽名相同。至於修飾符,範圍相同或者比父類的範圍大即可。
所以 B的method方法根本不是重寫的A 的method方法,而是重載。重載要求方法名相同,參數和返回值隨便改。

所以,參數不一定改成long,隨便什麽都是重載。

要是重寫的話,也不是必須加@override,寫@override,這個表示編輯器會給你去父類檢查重寫的對不對,不寫就自己檢查唄。

重寫是覆蓋,就是子類的替換了父類的,正常用方法,調的是子類的,所以重寫完還是一個方法
重載是寫多個同名方法,但可以給的參數不同,功能類似,所以正常調哪個方法,要看參數怎麽寫的,跟繼承無關,區別是重載後變成多個方法。

還有另一個問題:為什麽B類中的method是重載,是因為“繼承”,B繼承A類,我父類的所有成員(字段,方法和嵌套類),我子類都是可以繼承的(註意的是private屬性的是可以繼承,但是是不可以調用),B類裏面是不是就有A類的這個方法,然後,因為這個B類裏面也有個叫method的方法,經此文分析,這2個都叫method的方法,他們兩個的方法簽名不同。那麽,他就不是重寫,而是重載

什麽叫方法簽名