Effective Java之慎用重载(四十一)
生活随笔
收集整理的這篇文章主要介紹了
Effective Java之慎用重载(四十一)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在Java虛擬機的分派中,我們知道:
重載容易產生的問題:重載是根據參數的靜態類型選擇執行方法,而方法重寫是根據參數的動態類型選擇執行方法。
例如People p = new Man();那么People是靜態類型,Man是動態類型。
覆蓋機制很容易讓期望落空。因為如果不知道重載是根據參數的靜態類型選擇執行方法,那么覆蓋就不能執行期待執行的方法。
因此,應該避免胡亂使用重載機制。
慎重使用重載機制方法是:
1.避免導出兩個相同參數數目的重載方法。
2.能夠導出兩個相同參數數目的重載方法,但是對于每個重載方法,至少有一個參數是跟其他重載方法的參數是完全不同的。
3.改變方法名代替重載。例如ObjectOutputStream的write方法有writeInt(int),writeLong(long),writeBoolean(boolean),這樣顯得可讀性強而且不會發生重載的問題。
總結
以上是生活随笔為你收集整理的Effective Java之慎用重载(四十一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Effective Java之必要时进行
- 下一篇: Effective Java之慎用可变参