Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 扩展类的Eclipse错误_Java_Libgdx - Fatal编程技术网

Java 扩展类的Eclipse错误

Java 扩展类的Eclipse错误,java,libgdx,Java,Libgdx,我试图从下面的一个命令中创建和扩展类,但我从eclipse收到一条错误消息,说“令牌上的语法错误”{,{应在该令牌之后” 对于第一个括号后的此类: public class Frigate extends Ship { this.hull = 10; this.shield = 10; } 有没有更好的方法来设置具有相同变量和操作但具有不同值的“ships”呢?看起来您正试图为您的护卫舰初始化实例变量。请将该代码放入构造函数中 public Frigate() { this.hul

我试图从下面的一个命令中创建和扩展类,但我从eclipse收到一条错误消息,说“令牌上的语法错误”{,{应在该令牌之后”

对于第一个括号后的此类:

public class Frigate extends Ship {

this.hull = 10;
this.shield = 10;

}

有没有更好的方法来设置具有相同变量和操作但具有不同值的“ships”呢?

看起来您正试图为您的
护卫舰初始化实例变量。请将该代码放入构造函数中

public Frigate()
{
    this.hull = 10;
    this.shield = 10;
}

我将创建一个接受两个值的构造函数:

protected Ship(int hull, int shield) {
    this.hull = hull;
    this.shield = shield;
}
然后从子类调用它:

public class Frigate extends Ship {
    public Frigate {
        super(10, 10);
    }

你应该考虑把船舶抽象化,如果只是一个“基础”的话。类。

这看起来是一个很好的解决方案。有没有简单的方法来解释为什么需要构造函数来更改这些变量?像
this.hull=10;
是语句,而不是声明。语句需要放在代码块中,例如构造函数和方法。
public class Frigate extends Ship {
    public Frigate {
        super(10, 10);
    }