3 回答

TA貢獻(xiàn)1860條經(jīng)驗 獲得超9個贊
setters不必返回boolean(除非您想做一些非常非正統(tǒng)的事情)。將其更改為:
//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貢獻(xiàn)1848條經(jīng)驗 獲得超10個贊
我認(rèn)為你的 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 +
'}';
}
}
現(xiàn)在測試類:
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貢獻(xiàn)1794條經(jīng)驗 獲得超8個贊
看起來您需要聲明一個布爾 Staff 屬性并將其添加到 SmartCard 構(gòu)造函數(shù)中,以便您可以設(shè)置并獲取它。否則,您的 setStaff 方法不會設(shè)置任何內(nèi)容,它只是一直返回 true 作為該方法已運(yùn)行的信號,而不是獲取每個 SmartCard 對象中設(shè)置的 Staff 的布爾值。
換句話說,像 name 一樣設(shè)置一個 Staff 布爾值,您可以在其中設(shè)置并獲取它。
添加回答
舉報