讀《瘋狂Java講義》筆記總結三
阿新 • • 發佈:2019-01-22
1.初始化塊
實際上初始化塊是一個假象,使用javac命令編譯Java類後,該Java類中的初始化塊會消失——初始化塊中程式碼會被 “還原” 到每個構造器中,且位於構造器所有程式碼的前面。
2.p125-p128 自動裝箱,自動拆箱不太懂
3.包裝類
4.單例類
例項:
//提供一個靜態方法,用於返回Singleton例項 //該方法可以加入自定義控制,保證只產生一個singleton物件 public static Singleton getInstance() { //如果instance為null,則表明還不曾建立Singleton物件 //如果instance不為null,則表明已經建立了Singleton物件 //將不會重新建立新的例項 if (instance == null) { //建立一個Singleton物件,並將其快取起來 instance = new Singleton (); } return instance; }
5.final修飾基本型別變數和引用型別變數的區別
當使用final修飾基本型別變數時,不能對基本型別變數重新賦值,因此基本型別變數不能被改變,但對於引用型別變數而言,它儲存的僅僅是一個引用,final只保證這個引用型別變數所引用的地址不會發生改變,即一直引用同一個物件,但這個物件完全可以發生改變。
6.可執行“巨集替換”的final變數
對於一個final變數來說,不管它是類變數、例項變數,還是區域性變數,只要該變數滿足三個條件,這個final變數就不再是一個變數,而是相當於一個直接量。
- 使用final修飾符修飾
- 在定義該final變數時指定了初始值
- 該初始值可以在編譯時就被確定下來