我正在尝试将一个类扩展到其他多个类,例如
public class Ability extends Character
由于这个原因,我的代码出错:
隐式超级构造函数Character()未定义。必须显式调用另一个构造函数Defense.java
我的代码是:
public class Character {
int characterID;
double characterHealth;
public Character(int charID, double charHealth) {
characterID = charID;
characterHealth = charHealth;
}
}
public class Defense extends Character {
int armorClass;
int difficultyClass;
public Defense(int newAC, int newDC){
armorClass = newAC;
difficultyClass = newDC;
}
}
我不确定如何调用另一个构造函数。 如果有人可以指出为什么以及如何做到这一点。
答案 0 :(得分:1)
我不确定你会在哪里获得charId
和charHealth
的值,也许这些是常量,但这是你如何做到的:
public Defense(int newAC, int newDC)
{
super(charId, charHealth);
armorClass = newAC;
difficultyClass = newDC;
}
答案 1 :(得分:1)
来自子类ctor:
super(charId, charHealth);
由于超类没有默认构造函数,因此必须显式调用非默认构造函数。