10
A
回答
19
是的,你也可以做多個初始化塊。
這使您可以將代碼與初始化的東西放在一起。
private static final Map<String, String> map;
static {
// complex code to initialise map
}
private static final DbConnection conn;
static {
// handle any exceptions and initialise conn
}
3
您可以定義多個靜態塊。但我認爲這不是必要的。但是如果你定義,那麼它們將被順序執行。我的意思是先定義的靜態塊先執行,然後下一個塊執行。
2
是的。可以在java類中定義多個靜態塊。它有助於模塊化初始化代碼,從而有助於更好地理解和讀取代碼的性質(如彼特所提到的)。
4
public class TryInitialisation {
static int[] values = new int[10];
static{
System.out.println("running initialisation block");
for (int i=0; i< values.length; i++)
values[i] = (int) (100.0 * i);
}
static{
System.out.println("running initialisation block");
for (int i=0; i< values.length; i++)
values[i] = (int) (200.0 * i);
}
static{
System.out.println("running initialisation block");
for (int i=0; i< values.length; i++)
values[i] = (int) (300.0 * i);
}
void listValues(){
for (int i=0; i<values.length; i++)
System.out.println(" " + values[i]);
}
public static void main(String[] args) {
TryInitialisation example = new TryInitialisation();
example.listValues();
example = new TryInitialisation(); // referencing a new object of same type
example.listValues();
}
}
這裏是輸出:
running initialisation block
running initialisation block
running initialisation block
0
300
600
900
1200
1500
1800
2100
2400
2700
0
300
600
900
1200
1500
1800
2100
2400
2700
相關問題
- 1. 我可以定義多個Schema.org'ItemAvailability'嗎?
- 2. 我們可以在tclOO中定義靜態函數嗎?
- 3. 我可以執行多個Catch塊嗎?
- 4. 我們可以在java的非靜態類中有靜態塊嗎?
- 5. 我可以多態訪問靜態方法嗎?
- 6. 模塊可以在多個文件中定義嗎?
- 7. 我可以動態地定義一個帶塊的Ruby方法嗎?
- 8. singleton類可以靜態嗎?
- 9. 可以在.cpp中聲明/定義靜態方法嗎?
- 10. 可以使用函數定義PHP靜態類變量嗎?
- 11. 我可以在單個XML文件中定義多個ColorStateLists嗎?
- 12. 'dropwhile'是靜態的嗎?我可以使它動態嗎?
- 13. 在Magento中,我可以僅通過xml向頭添加一個靜態塊嗎?
- 14. 我可以將一個phpBB論壇插入Magento CMS靜態頁面或塊嗎?
- 15. 我可以爲一個變量分配一個靜態類嗎?
- 16. 我可以爲某些專業化定義靜態constexpr數據成員嗎?
- 17. 我可以從靜態const char *數組中定義下面的宏「unstringifying」嗎?
- 18. 我們可以在構造函數中定義靜態類成員嗎?
- 19. 一個Java靜態定時器可以處理調用cancel()的多個TimerTasks嗎?
- 20. 我可以通過數組定義多個LinearLayout嗎?
- 21. 我可以使用CSV.parse定義多個列分隔符嗎?
- 22. 我的RecyclerView.ViewHolder可以是一個非靜態的外部類嗎?
- 23. 我可以創建一個內部靜態類的實例嗎?
- 24. 我可以用Cython創建一個靜態C數組嗎?
- 25. 我可以做一個私人子類的靜態導入嗎?
- 26. 我可以有一個異常的靜態全局實例嗎?
- 27. 我們可以有一個虛擬的靜態方法嗎? (C++)
- 28. 我可以有一個弱靜態指針嗎?
- 29. 在django中,我可以擁有多個靜態應用程序實例嗎?
- 30. 我可以在Express中防止多個靜態目錄生成404嗎?
關於第一個問題,當你嘗試會發生什麼? – beny23 2012-04-04 12:45:50
聽起來像是一個家庭作業問題......它的工作在提問時表現出嚴謹的表現。 – jamesTheProgrammer 2012-04-04 12:48:18