分為兩種instance initialize、static initialize
在instance initialize區塊,
編譯器會將其內部的程式碼複製到每個建構子中,
若原initialize區塊和instance initialize區塊中有定義相同的變數
則會以initialize的定義為主,
而該變數不會被instance initialize的定義覆蓋
至於static initialize則不會被複製到建構子中,會用來初始化靜態變數,
static initialize不能存取一般的instance物件變數,
但instance initialize是可存取static和non-static的成員變數
public class InitializerSample {
String id;
int birthday;
String name;
static int money;
InitializerSample() {}
InitializerSample(int kind) {}
//instance initialize
{
id = "A123456789";
birthday = 20050101;
name = "pcschool";
}
//static initialize
static {
money = 10000;
}
}
0 意見 :
張貼留言