java - 如何在一种方法和另一种方法中使用声明的变量。

标签 java class variables methods

所以我有一个如下所示的方法:

public Maze(String[] textmaze, int startRow, int startCol, int finishRow, int finishCol){
    int numRows = textmaze.length;
    int numCols = textmaze[0].length;
    int [][] x = new int[numRows][numCols];
    }

所以我想在其他方法中使用变量 x、numRows 和 numCols,但是 numRows 和 numCols 需要必须作为参数传入的 String textmaze,并且调用此方法的主要方法位于我的另一个类中m 不允许修改。那么如何在其他方法中使用这些变量呢?

最佳答案

由于Maze是一个构造函数,并且您想在类的其他部分使用变量,因此您应该将变量改为实例字段,例如...

private int numRows;
private int numCols;
private int [][] x;

public Maze(String[] textmaze, int startRow, int startCol, int finishRow, int finishCol){
    numRows = textmaze.length;
    numCols = textmaze[0].length;
    x = new int[numRows][numCols];
}

这将允许您从该(Maze)类上下文中访问变量。

根据您想要执行的操作,您还可以为字段提供访问器,以允许子类访问它们(使用 protected 来防止包外部的其他类访问它们或 public 如果您希望其他类访问它们)...

public int getNumRows() {
    return numRows;
}

看看Understanding Class MembersControlling Access to Members of a Class了解更多详情

关于java - 如何在一种方法和另一种方法中使用声明的变量。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28822056/

相关文章:

sql - 在联合语句中更改 T-SQL 变量

java - Android 中 TextView setColor 方法上的 ClassCastException

java - 从 Android 中的 fragment 管理工具栏中的后退按钮

typescript - 如何从 Typescript 中的构造函数动态声明类的实例属性?

objective-c - 如何从另一个类访问变量?

php - 在 INI 文件中使用关键字作为变量名

python - web2py:在Python中写入 session 变量

java - Paypal Java SDK - 尝试创建加密按钮 - 不起作用,找不到文档

java - 在java中为不同类型和策略设计api

c++ - 来自不同类别的对象的 vector