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(这会隐藏父类的变量)。
添加回答
举报