提示五十二:慎用重載。
- 重載調(diào)用哪個(gè)方法是在編譯時(shí)做出的決定戈次,重寫方法是在運(yùn)行時(shí)決定調(diào)用哪個(gè)方法耸彪,所以編譯時(shí)的類型不會(huì)影響最終調(diào)用哪個(gè)方法堂鲜。
- 使用重載機(jī)制比較安全而保守的策略是:永遠(yuǎn)不要導(dǎo)出兩個(gè)具有相同參數(shù)數(shù)目的重載方法栈雳。如果方法使用可變參數(shù),保守的策略是不要重載它缔莲。
- 對(duì)于構(gòu)造器哥纫,可以選擇導(dǎo)出靜態(tài)工廠。
- 對(duì)于每一種重載方法痴奏,至少有一個(gè)對(duì)應(yīng)的參數(shù)在兩個(gè)重載方法中具有根本不同的類型蛀骇,就不會(huì)產(chǎn)生迷惑。
- 自動(dòng)裝箱可能導(dǎo)致調(diào)用錯(cuò)重載方法读拆。
- 應(yīng)該讓更具體化的重載方法把調(diào)用轉(zhuǎn)發(fā)給更一般化的重載方法擅憔。
我平時(shí)有時(shí)會(huì)使用重載,不過一般都是把更具體的重載方法轉(zhuǎn)發(fā)給更一般的重載方法檐晕。但有時(shí)也會(huì)因?yàn)橄氩坏绞裁锤玫拿侄褂弥剌d暑诸,不過這種時(shí)候一般只有一兩個(gè)參數(shù)而且類型都不一樣。不過這次學(xué)到了可以參考write和writeInt辟灰,把類型放進(jìn)方法名也可以避免這樣的重載个榕。平時(shí)在使用各種API的時(shí)候也發(fā)現(xiàn),盡量不要出現(xiàn)參數(shù)數(shù)量相同的重載方法伞矩,避免使用者出錯(cuò)笛洛。