3 回答
TA贡献1860条经验 获得超9个赞
setters不必返回boolean(除非您想做一些非常非正统的事情)。将其更改为:
//setStaff() method to set staff status
public void setStaff(boolean status) {
this.status = status;
}
并getStaff()像这样改变你的方法:
public boolean isStaff() {
return staff;
}
您还需要定义boolean staff:
private String name;
private boolean staff;
...
TA贡献1848条经验 获得超10个赞
我认为你的 setStuff 方法是错误的:
public boolean setStaff(boolean status) {
return true;
}
还有一个简单的说明:
您可以对 SmartCard 使用 getter 和 setter 模式:
public class SmartCard {
private String name ;
private boolean stuff ;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public boolean isStuff() {
return stuff;
}
public void setStuff(boolean stuff) {
this.stuff = stuff;
}
@Override
public String toString() {
return "SmartCard{" +
"name='" + name + '\'' +
", stuff=" + stuff +
'}';
}
}
现在测试类:
class MainClass {
public static void main(String[] args) {
SmartCard card = new SmartCard() ;
card.setName("Sample");
card.setStuff(false);
System.out.println(card);
SmartCard card2 = new SmartCard();
card2.setName("Other Card");
card2.setStuff(true);
System.out.println(card2);
}
}
TA贡献1794条经验 获得超8个赞
看起来您需要声明一个布尔 Staff 属性并将其添加到 SmartCard 构造函数中,以便您可以设置并获取它。否则,您的 setStaff 方法不会设置任何内容,它只是一直返回 true 作为该方法已运行的信号,而不是获取每个 SmartCard 对象中设置的 Staff 的布尔值。
换句话说,像 name 一样设置一个 Staff 布尔值,您可以在其中设置并获取它。
添加回答
举报