如果我要在Java中創建一個簡單的類,並且只有一個實例變量的整數數組,那麼默認構造函數會有什麼意義?我不想把它留空。數組默認構造函數
Q
數組默認構造函數
-6
A
回答
7
你可以這樣做:
public class IntArrayDemo {
private static final int DEFAULT_SIZE = 10;
private int [] values;
public IntArrayDemo() {
this(DEFAULT_SIZE);
}
public IntArrayDemo(int size) {
if (size < 0) throw new IllegalArgumentException("size cannot be negative");
this.values = new int[size];
}
}
0
你並不需要一個默認的構造函數。你可以使用靜態初始化。 http://docs.oracle.com/javase/tutorial/java/javaOO/initial.html
2
如果你想在實例化類時設置包含的數組,你應該使用該數組作爲構造函數的參數。否則,一個空的構造函數就沒事了(你不需要明確地聲明它,每個沒有顯式構造函數的類默認都是空的)。
public class ArrayWrapper {
private final int[] innerArray;
public ArrayWrapper(int[] values) {
this.innerArray = values;
}
}
2
空構造函數沒有錯。如果你真的想要填寫它,你可以初始化你的列表:
//...
private SIZE = 10;
private int [] list;
public MyClass() {
list = new int [SIZE];
}
相關問題
- 1. 類默認構造函數
- 2. 默認構造函數
- 3. 非默認構造函數
- 4. C++,默認構造函數
- 5. constexpr默認構造函數
- 6. 非默認構造函數
- 7. 從參數化構造函數調用默認構造函數
- 8. 是構造函數生成的默認構造函數嗎?
- 9. 從另一個構造函數調用默認構造函數
- 10. 構造函數替換默認構造函數?
- 11. 繼承構造函數和默認構造函數
- 12. 默認構造函數與正常構造函數的類C++
- 13. 構造函數和默認構造函數的區別
- 14. C++構造函數調用默認構造函數
- 15. 默認的構造函數的參數
- 16. Python類構造函數默認參數
- 17. 默認和參數化構造函數
- 18. 默認的默認構造函數,爲什麼不是用戶提供的默認構造函數?
- 19. C++默認構造函數和默認參數
- 20. 結構隱式默認構造函數與無參數構造函數
- 21. 默認構造函數遞歸崩潰
- 22. 默認構造函數匕首
- 23. 默認構造函數調用
- 24. 屬性構造函數的默認值?
- 25. NSObject的默認構造函數
- 26. DatabaseManager沒有默認構造函數
- 27. 找不到默認的構造函數
- 28. 沒有默認構造函數發現
- 29. 「RavenReader.Web.Controllers.UserController」沒有默認的構造函數
- 30. 默認構造函數C++錯誤
這取決於你和你的用例。 –
這是一個奇怪的問題。你基本上是說你不喜歡空的構造函數是怎麼樣的,你想用一些不必要的功能來裝飾它? –
不,我只是不想像我最後的任務停靠點。 Yeesh。 – SoloMael