数组默认构造函数

时间:2014-03-28 19:26:28

标签: java arrays constructor default-constructor

如果我要在Java中创建一个只有一个实例变量的整数数组的简单类,那么对于默认构造函数有什么意义呢?我不想把它留空。

4 个答案:

答案 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