2 回答

TA貢獻1828條經驗 獲得超13個贊
當你擴展 Piece 時,你想要繼承 Piece 中所有 Piece 子類所共有的東西。所以你不用在 Pawn 中重新聲明變量。
public class Piece
{
private char icon;
public char getIcon() { return icon; }
public void setIcon(char i) { icon = i; }
public Piece(char c) { setIcon(c); }
}
public class Pawn extends Piece
{
public Pawn()
{
super('I');
}
}
這是一種讓每個子類都有一個圖標的方法,存儲在 Piece 中,以及設置和訪問它的方法。

TA貢獻1852條經驗 獲得超7個贊
通過在超類中聲明 a private char icon
,可以防止子類訪問它。
您可以聲明private char icon
一個 setter,或者將其作為父類構造函數的一部分,而不是在子類中重新聲明 a(這會隱藏父類的變量)。
添加回答
舉報