我正在學習C#和JAVA,我在C#中發現了Static Constructor,它用於初始化任何靜態數據,或執行需要僅執行一次的特定操作。它在創建第一個實例或引用任何靜態成員之前自動調用。 例如: class SimpleClass
{
// Static variable that must be initialized at run time.
static readon
我熟悉C#,現在學習Java中的靜態類。 在下面的代碼中,我假設如果staticClass構造函數已在啓動時初始化。但事實並非如此。在主要方法中調試光標到第一個循環的斷點時。我收到一個錯誤「staticClass not loaded」。 問題:有沒有一種方法可以在main方法執行之前執行靜態類構造函數?或爲什麼它沒有加載?類似的靜態類在啓動時加載到C#中。但在Java?認爲這是一個不工作的代碼。
這兩個代碼塊是否做同樣的事情? class A {
public static int s;
A(){}
static A(){s = 100;}
}
和 class A {
public static int s=100;
A(){}
//static A(){s = 100;} do not use
}
他們做同樣的事情?
請注意更新,我的問題沒有明確闡述。對不起。 讓我們假設我們有下面的代碼: class Foo extends/implements AnAbstractClass/AnInterface { /* to make sure the constructor with int as input is implemented */
Foo(int magicInt) { magicInt +