Java高階教程 - 建立和銷燬物件

通過建構函式建立
Java是面向物件的語言,因此建立類例項是Java最重要的一個功能。建立Java物件的時候,建構函式扮演了重要的角色。
隱式建構函式
Java執行定義一個類而無需定義建構函式,這並不意味這建構函式不存在,只是Java編譯器會自動的替無建構函式的類生成一個預設無引數的建構函式。例如

無參建構函式
提供無參建構函式相當於Java編譯器編譯是插入的無參建構函式顯示提供

帶引數的建構函式
帶引數的建構函式是建立例項,初始化最常用的方式,例如

同樣的,可以建立多個建構函式,並且建構函式可以互相呼叫,例如

初始化塊
Java 可以通過初始化塊來進行初始化,這個特性用的較少,但是仍然需要知道,並且初始化塊會在建構函式呼叫之前呼叫。

欄位預設值
Java對類的欄位提供了預設值
boolean 預設 false
byte 預設 0
short 預設 0
int 預設 0
long 預設 0L
char 預設 \u0000
float 預設 0.0f
double 預設 0.0d
Object 預設 null
例如:

輸出

靜態初始化塊
相對於初始化塊,靜態初始化塊只是在初始化塊前加了static

物件的銷燬
對於Java來說,由於有垃圾回收,所以物件建立不再使用後,是有垃圾回收執行緒預設回收的。但是可以是公用finalizer()方法,來控制垃圾回收。當時先了finalizer()方法後,Java會將其放入Finalizer的垃圾回收佇列中。finalizer()是一個很危險的操作,因為它會阻止物件被回收,尤其是操作錯誤是會導致物件復活,導致垃圾回收失敗,所以儘可能不要使用。
建立物件的模式
單例模式
單例模式可以很簡單的建立一個物件,並且保證整個應用中僅有一個物件存在。 例如:

或者:

或者為了執行緒安全

當然還可以通過雙檢鎖,靜態子類,列舉等方式建立單例
工廠方法
使用工廠方法模式,可以輕鬆的建立多個物件例如:

歡迎Java工程師朋友們加入Java進階高階架構群:855355016
本群提供免費的學習指導 架構資料 以及免費的解答
不懂得問題都可以在本群提出來 之後還會有職業生涯規劃以及面試指導