建議47:在equals中使用getClass進行類型判斷 本節我們繼續討論覆寫equals的問題,這次我們編寫一個員工Employee類繼承Person類,這很正常,員工也是人嘛,而且在JavaBean中繼承也很多見,代碼如下: 員工類增加了工號ID屬性,同時也覆 ...
書讀的多而不思考,你會覺得自己知道的很多。 書讀的多而思考,你會覺得自己不懂的越來越多。 伏爾泰 在面向對象編程 Object Oriented Programming, OOP 的世界里,類和對象是真實世界的描述工具,方法是行為和動作的展示形式,封裝 繼承 多態則是其多姿多彩的主要實現方式,本章主要講述關於Java對象,方法的種種規則,限制和建議。 建議 :在接口中不要存在實現代碼 看到這樣的 ...
2016-09-13 09:35 4 1829 推薦指數:
建議47:在equals中使用getClass進行類型判斷 本節我們繼續討論覆寫equals的問題,這次我們編寫一個員工Employee類繼承Person類,這很正常,員工也是人嘛,而且在JavaBean中繼承也很多見,代碼如下: 員工類增加了工號ID屬性,同時也覆 ...
建議36:使用構造代碼塊精簡程序 什么叫做代碼塊(Code Block)?用大括號把多行代碼封裝在一起,形成一個獨立的數據體,實現特定算法的代碼集合即為代碼塊,一般來說代碼快不能單獨運行的,必須要有運行主體。在Java中一共有四種類型的代碼塊: 普通代碼塊:就是在方法后面使用 ...
建議41:讓多重繼承成為現實 在Java中一個類可以多重實現,但不能多重繼承,也就是說一個類能夠同時實現多個接口,但不 能同時繼承多個類。但有時候我們確實需要繼承多個類,比如希望擁有多個類的行為功能,就很難使用單繼承來解決問題了(當然,使用多繼承是可以解決的)。幸 運的是Java中提 ...
泛型可以減少強制類型的轉換,可以規范集合的元素類型,還可以提高代碼的安全性和可讀性,正式因為有這些優點,自從Java引入泛型后,項目的編碼規則上便多了一條:優先使用泛型。 反射可以“看透” 程序的運行情況,可以讓我們在運行期知曉一個類或實例的運行狀況,可以動態的加載和調用,雖然有一定 ...
枚舉和注解都是在Java1.5中引入的,雖然它們是后起之秀,但其功效不可小覷,枚舉改變了常量的聲明方式,注解耦合了數據和代碼。 建議83:推薦使用枚舉定義常量 常量聲明是每一個項目都不可或缺的,在Java1.5之前,我們只有兩種方式的聲明:類常量和接口常量,若在項目 ...
建議106:動態代理可以使代理模式更加靈活 Java的反射框架提供了動態代理(Dynamic Proxy)機制,允許在運行期對目標類生成代理,避免重復開發。我們知道一個靜態代理是通過主題角色(Proxy)和具體主題角色(Real Subject)共同實現主題角色(Subject)的邏輯 ...
建議26:提防包裝類型的null值 我們知道Java引入包裝類型(Wrapper Types)是為了解決基本類型的實例化問題,以便讓一個基本類型也能參與到面向對象的編程世界中。而在Java5中泛型更是對基本類型說了"不",如果把一個整型放入List中,就必須使用Integer包裝類 ...
噢,它明白了,河水既沒有牛伯伯說的那么淺,也沒有小松鼠說的那么深,只有親自試過才知道。 ---寓言故事《小馬過河》 數據處理是每種語言必備的功能,Java更甚之,數據集可以允許重復 ...