其實完全沒有必要,因為如果obj==null,下一行的
if (obj instanceof Type)
就肯定返回false,因為(null instanceof AnyType) = false。
詳細內容請參考《Effective Java》第7條:Obey the general contract when overriding equals。
其他的方法如toString()就更簡單了,只要稍微熟悉java的程序員相信都能寫出來,我就不多說了。
★ 總結 ★
1.如果一個類只有有限的幾種狀態,考慮用幾個final的靜態變量來表示不同狀態的實例。
例如編寫一個Weekday類,狀態只有7個,就不要讓用戶寫new Weekday(1),直接提供Weekday.MONDAY即可。
2.要防止用戶使用new生成實例,就取消public構造函數,用戶要獲得靜態實例的引用有兩個方法:如果申明public static var就可以直接訪問,比如Boolean.TRUE,
第二個方法是通過靜態工廠方法:Boolean.valueOf(?)
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/