我试图将私有参数的setter放入构造函数中。它们是在创建时初始化的。
但是我从eclipse中得到了一些错误:
Multiple markers at this line
- Syntax error on token ")", ; expected
- void is an invalid type for the variable
setHealth
- Syntax error on token "(", ; expected
以下是代码片段:
public abstract class Droid {
private int health;
private int power;
private int impact;
public Droid() {
public void setHealth(int health) {
this.health = health;
}
public void setPower(int power) {
this.power = power;
}
public void setImpact(int impact) {
this.impact = impact;
}
}
// getters and other methods goes here
}
为什么它不起作用?任何建议。
这是更好看的屏幕:
答案 0 :(得分:2)
您根本无法在方法声明中提供方法声明。
我建议你阅读一些基本 java教程。
答案 1 :(得分:1)
答案 2 :(得分:1)
您正在尝试在构造函数中创建set方法,您应该在外部创建它们,然后在构造函数中调用它们。喜欢这个:
public abstract class Droid {
private int health;
private int power;
private int impact;
public Droid(int health,int power,int impact) {
setHealth(health);
setPower(power);
setImpact(impact);
}
// getters and other methods goes here
public void setHealth(int health) {
this.health = health;
}
public void setPower(int power) {
this.power = power;
}
public void setImpact(int impact) {
this.impact = impact;
}
}
在大多数情况下,构造函数的编写方式如下:
public Droid(int health,int power,int impact) {
this.health=health;
this.power=power;
this.impact=impact;
}
因为从类中调用setter方法不是必需的。当您想要从不同的类更改字段时,将使用Setter方法。