什么叫方法签名 Java
方法簽名由方法名稱和一個參數列表(方法的參數的順序和類型)組成。
注意,方法簽名不包括方法的返回類型。不包括返回值和訪問修飾符。
常見的問題應用:重載和重寫。
前提是繼承,兩個方法的方法簽名相同。至于修飾符,范圍相同或者比父類的范圍大即可。
所以 B的method方法根本不是重寫的A 的method方法,而是重載。重載要求方法名相同,參數和返回值隨便改。
所以,參數不一定改成long,隨便什么都是重載。
要是重寫的話,也不是必須加@override,寫@override,這個表示編輯器會給你去父類檢查重寫的對不對,不寫就自己檢查唄。
重寫是覆蓋,就是子類的替換了父類的,正常用方法,調的是子類的,所以重寫完還是一個方法重載是寫多個同名方法,但可以給的參數不同,功能類似,所以正常調哪個方法,要看參數怎么寫的,跟繼承無關,區別是重載后變成多個方法。
雖然簡單,但是我確實不知道有方法簽名這一說,現在既然知道了,就簡單的做個筆記咯。還望眾噴子們冷靜的路過。
關于重寫和重載,學過Java的都可以說幾句,但是說的到底對不對,那還真不好說,最好的辦法就是親自測試一下,用代碼說話。
下面是我關于重寫的測試,@override,使用這個注解,編輯器會自動幫你檢查你的重寫是不是OK的。
我做如下測試:
1.關于修飾符的測試
父類:如果是private,那么子類就不存在重寫,只是新建了個方法。
但是要是protected的話,子類就可以重寫。@override是可以OK的。子類是protected或者public。經測試private類型是錯誤的。直接報錯。
驗證上面的修飾符范圍相同或者比父類大即可。
這也間接說明,繼承的關系,private是不能被繼承的,所以父類private類型的屬性是不能到子類去的,也就無從擴展,也就談不上重寫啦。
2.關于返回類型的測試
在修飾符條件OK的情況下,來修改返回類型,
發現如果可繼承的要重寫的方法要是返回類型不同,編輯器也是會報錯的。說是重寫的兩個方法的返回類型沖突。不相容的,矛盾的返回類型。
驗證,重寫的方法的返回類型的關系。
不信的可以自己測試下。
總結
以上是生活随笔為你收集整理的什么叫方法签名 Java的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SocksCap64全局代理设置教程
- 下一篇: 常用Windows运行命令大全