我正在尝试自己学习Java,并且正在制作一个大家都知道的游戏,即Monopoly。

我已经搜索了答案,但是找不到,所以就在这里。

我有一个带有两个变量Fieldfieldnumber的类fieldname。我的想法是用数字创建一个字段,以便程序知道播放器在哪里(现在不相关)。
fieldnamefieldnumber仅在程序创建了字段和字段名称之后才可读(即不可编辑)。

我需要知道如何将这两个变量初始化为构造器,并使这些变量只是“获取器”,以便以后不能更改它们。

(obs:类Field只是一个子类,稍后我需要在主类中使用数据)

我有点困惑,试图读我正在使用的书,但是没有运气。

最佳答案

我建议将这两个属性设为私有(不可访问),在创建实例时将其初始化,然后可以使用getter来获取它们的值:

class Field{

private String fieldname;
private int fieldnumber;

public Field (String fieldname, int fieldnumber)
{
    this.fieldname = fieldname;
    this.fieldnumber= fieldnumber;
}

public String getFieldname(){
    return fieldname;
}
public int getFieldnumber(){
    return fieldnumber;
}
public String toString(){
    return fieldnumber+ "  " +fieldname;
}
public boolean equals(Object obj){
   Field field = (Field) obj;
    return (fieldnumber == field.fieldnumber && fieldname.equals(field.fieldname);
}
}

10-08 20:27