在一个基类中,我有一个作为 ArrayList 实现的变量:
class Base<E> {
List<Collection<E>> adj;
public Base (int size) {
adj = new ArrayList<Collection<E>>(size);
for(int i = 0; i < size; i++)
adj.add(new ArrayList<E>());
}
}
现在在一个子类中,我想将实现更改为 HashSet:
class Sub<E> extends Base<E> {
List<Collection<E>> adj;
public Sub (int size) {
adj = new ArrayList<Collection<E>>(size);
for(int i = 0; i < size; i++)
adj.add(new HashSet<E>());
}
}
但它不会让我,因为它给了我一个“必须明确地唤起另一个构造函数”的错误。我应该怎么办?