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

mug發表於2021-09-09

圖片描述

透過建構函式建立

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高階技術
連結:


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/506/viewspace-2819910/,如需轉載,請註明出處,否則將追究法律責任。

相關文章