如果我要在Java中创建一个只有一个实例变量的整数数组的简单类,那么对于默认构造函数有什么意义呢?我不想把它留空。
答案 0 :(得分: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];
}
}
答案 1 :(得分:2)
如果要在实例化类时设置包含的数组,则应将该数组用作构造函数的参数。否则一个空构造函数就好了(你不需要显式地声明它,默认情况下每个没有显式构造函数的类都有一个空的。)
public class ArrayWrapper {
private final int[] innerArray;
public ArrayWrapper(int[] values) {
this.innerArray = values;
}
}
答案 2 :(得分:2)
空构造函数没有错。如果你真的想以某种方式填写它,你可以宣传你的名单:
//...
private SIZE = 10;
private int [] list;
public MyClass() {
list = new int [SIZE];
}
答案 3 :(得分:0)
您不需要默认构造函数。您可以使用静态初始化。 http://docs.oracle.com/javase/tutorial/java/javaOO/initial.html