如何摆脱压倒一切的限制?

was*_*sup 1 java

我有这两个类的问题:

怪物:

public abstract class Creature extends Texturable
{
    public Creature(String ID)
    {
        this.ID = ID;
    } // end Creature()

    protected void setMaximumHealthPoints(int maximumHealthPoints)
    {
        this.maximumHealthPoints = maximumHealthPoints;
    } // end setMaximumHealthPoints()

    protected void setMaximumSpeed(int maximumSpeed)
    {
        this.maximumSpeed = maximumSpeed;
    } // end setMaximumSpeed()

    ...

    protected String ID;
    protected int maximumHealthPoints;
    protected int maximumSpeed;
    ...
} // end Creature
Run Code Online (Sandbox Code Playgroud)

人类:

public class Human extends Creature
{
    public Human(String ID)
    {
        this.ID = ID;
        setMaximumHealthPoints(100);
        setMaximumSpeed(4);
    } // end Human()
} // end Human
Run Code Online (Sandbox Code Playgroud)

我想做的是,正如上面的代码所说,将最大健康点设置为100,最大速度设置为4,但仅限于人类生物.:)

当我尝试编译它时,我得到以下错误:类Creature中的构造函数Creature不能应用于给定的类型.人类和生物构造函数中的参数是相同的.所以有什么问题?

我也试过这个:

人类:

public class Human extends Creature
{
    protected int maximumHealthPoints = 100;
    protected int maximumSpeed = 4;
} // end Human
Run Code Online (Sandbox Code Playgroud)

但没有成功.

现在我收到这个错误:"字段隐藏了另一个字段".

有什么办法可以让它正常工作吗?

提前致谢,

卢卡斯

NPE*_*NPE 5

更改Human构造函数以调用正确的基类构造函数,如下所示:

public Human(String ID)
{
    super(ID);
    setMaximumHealthPoints(100);
    setMaximumSpeed(4);
}
Run Code Online (Sandbox Code Playgroud)

你的代码隐含地试图调用Creature不存在的无参数构造函数.