我有一节笼子课:
public class Cage<T extends Animal> {
Cage(int capacity) throws CageException {
if (capacity > 0) {
this.capacity = capacity;
this.arrayOfAnimals = (T[]) new Animal[capacity];
}
else {
throw new CageException("Cage capacity must be integer greater than zero");
}
}
}
我试图在另一个类main方法中示例化cage的对象:
private Cage<Animal> animalCage = new Cage<Animal>(4);
我得到一个错误:“默认构造函数不能处理由隐式超级构造函数引发的异常类型。必须定义一个显式构造函数。“有什么想法吗?”o(
2条答案
按热度按时间cunj1qz11#
可以在类中使用helper方法,其中
Cage
得到示例化:ncgqoxb02#
这意味着在另一个类的构造函数中,您正在创建cage类,但该构造函数没有正确处理异常。
所以要么在创建
Cage
在另一个构造函数中初始化,或使构造函数抛出CageException
.