Java中的访问器,协助?

时间:2013-03-12 18:47:12

标签: java

我只是想知道我是否可以对访问器提供一点帮助,正如您从我的代码中看到的那样,我不应该使用int numCols和int numRows作为实例变量。

我们需要访问器getNumOfCols()和getNumOfRows()。我们需要这些,因为面板不应该有自己的numCols和numRows实例变量。如果你复制这种数据,你只需要问题,因为它可能会变得不一致。

请有人帮我创建访问器以替换我的实例变量吗?

class MineFinderPanel extends JFrame implements MouseListener   // changed
{ 
// numCols and numRows shouldn't get here.  They should be gotten from the model
int numCols;
int numRows;

1 个答案:

答案 0 :(得分:2)

访问器方法(称为getter和setter)仅用于操作应该是私有的字段或变量,并且只能由创建它的类操作。所以私人领域采用公共方法。

所以你应该有一个为你的Frame创建模型的类。

存取方法的示例。您将不得不创建另一个类来实现它们:

// private - only available within its class
private int numCols;
private int numRows;

// public methods - ability to access the private fields.
public int getNumCols() {
    return this.numCols;
}

public int getNumRows() {
    return this.numRows;
}