Java 如何使用在一个方法中声明的变量,在另一个方法中声明的变量。

Java 如何使用在一个方法中声明的变量,在另一个方法中声明的变量。,java,class,variables,methods,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、num

所以我有一个方法,看起来像这样:

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需要字符串textmaze,它必须作为参数传入,调用此方法的主方法在另一个类中,我不允许修改。那么我如何在其他方法中使用这些变量呢

由于
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


看一看,了解更多细节

1——这不是一个方法,而是一个构造函数;2-在这种情况下,你有没有想过为它们提供getter…?我从来没有在java中使用过这样的构造函数,我也不知道getter是什么。getter是一种访问器方法,它只是一种允许你从对象“获取”值的方法。虽然你可能从来没有写过,但我相信你也遇到过这样或那样的问题,我现在有另一个问题。因此,出于某种原因,当我编译它时,我不断得到一个错误,它说它在numCols=textmaze[0]行上找不到符号;箭头指向textmaze[0]中的点。长度。你知道怎么回事吗?
textmaze
是一维数组,要么参数错误,要么你试图做一些无法实现的事情。。。
public int getNumRows() {
    return numRows;
}