public class ArrayIntList {
public static final int DEFAULT_CAPACITY = 3;

private int[] elementData;
private int size;

// Constructs an empty list of a default capacity.
public ArrayIntList() {
this(DEFAULT_CAPACITY);
}

// Constructs an empty list with the given capacity.
// Precondition: capacity >= 0
// Throws an illegal argument exception if capacity is negative.
public ArrayIntList(int capacity) {
if (capacity <= 0) {
throw new IllegalArgumentException("capacity must be positive: " + capacity);
}
elementData = new int[capacity];
size = 0;
}
比如说这一段代码,为什么field里面变量的初始化要在Constructor里面完成?
我试过直接在field里面初始化,工作是正常的
JAVA的官方解释是:http://docs.oracle.com/javase/tutorial/java/javaOO/initial.html
我也没怎么看明白,请高人解释一下。
还有一个问题:field里面的所有变量都必须初始化么?String的初始化怎么写?