3.如果不提供public構造函數,讓用戶只能通過上面的方法獲得靜態變量的引用,還可以大大簡化equals()方法:
public boolean equals(Object obj) {
return this==obj;
}
可以直接用==比較引用,絕對沒有問題,而且效率最高。
4.為什么JDK的Boolean沒有實現上面第3點?因為那兩個static變量TRUE和FALSE是在jdk 1.2以后才有的,由于前面的版本已經把構造函數申明為public,所以為了保持客戶端代碼能夠不修改也在后面的版本中運行,只好繼續提供public構造函數。
文章來源于領測軟件測試網 http://www.kjueaiud.com/