用Java扩展类

时间:2012-06-09 03:03:44

标签: java android

我正在尝试将一个类扩展到其他多个类,例如

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;
    }
}

我不确定如何调用另一个构造函数。 如果有人可以指出为什么以及如何做到这一点。

2 个答案:

答案 0 :(得分:1)

我不确定你会在哪里获得charIdcharHealth的值,也许这些是常量,但这是你如何做到的:

public Defense(int newAC, int newDC)
{
    super(charId, charHealth);
    armorClass = newAC;
    difficultyClass = newDC;
}

答案 1 :(得分:1)

来自子类ctor:

super(charId, charHealth);

由于超类没有默认构造函数,因此必须显式调用非默认构造函数。