在撰寫Java的class時,可以設定class成員變數的初值,然而,如果成員變數的設定需要做一些判斷才能給初值,除了在建構式內撰寫判斷之外,以下的方法可以有條件的設定初值給成員變數:
public class UncleClass
{
int v;
{ // 直接以括號開始寫,
//括號前沒有任何函式名!!
//這裡寫判斷式,並設定v的初值。
}
public UncleClass() {;}
// …
}上面沒有函式名稱的括號刮住的,就是initializer blocks。寫在裡面的code會自動複製到主類別(UncleClass)的每個建構式內,蠻適合用於一個類別有很多個建構式的情況。
沒有留言:
張貼留言