編輯:對於我以前的問題,最後的關鍵字會讓您困惑,這是不合適的。對於我可憐的英語也很抱歉。確保字段初始化爲構造函數
----- ------題
假設我有一個模型類沒有任何的構造函數,因爲我需要很多不同的邏輯中初始化。 但我有一個notnull關鍵字。
public class Model {
public notnull String name;
public notnull String address;
public notnull int age;
}
,我需要用它在不同的地方,但繼續檢查,如果所有NOTNULL場進行初始化,在編譯時
Model m = new Model();
m.name = "Hello";
m.age = 15;
// syntax error, you should set Model.address
或者
Model m1 = new Model();
m1.address = "World";
m1.age = 20;
// syntax error, you should set Model.name
哪有我在java中實現? Thx。
我很困惑。如果它們是最終的,你*必須*在構造函數中初始化它們。 –
當你將它們聲明爲'final String a =「A」',在每個構造函數中聲明爲'a =「A」'或者在實例初始化塊中聲明爲'{a =「A」}'時,否則會出現編譯時錯誤。你現在做的方式是設置'final',這是沒有意義的,因爲你不需要初始化它們,這會與'final'的結果相矛盾。 – SomeJavaGuy
和「但我有一個新的關鍵字說notnull」大聲笑.. –