我想不通爲什麼這個代碼:Java的構造問題
class HelloWorld
{
HelloWorld()
{
System.out.println("1 cnstr ");
}
public static void main(String[] args)
{
HelloWorld a = new HelloWorld();
}
{
System.out.println("2 cnstr ");
}
}
給我的輸出:
2 cnstr
1 cnstr
爲什麼線System.out.println("2 cnstr ");
工作?它是什麼樣的塊?我使用jdb
,並發現JVM
開始在HelloWorld()
構造函數中的任何行之前使用此行阻止。
感謝您的幫助。
您也可以使用'static {}'來初始化在構造函數之外聲明的靜態變量。 –