所以这只是我代码的一部分,整个程序都可以编译和运行,但是我不断在以“GameBoard myBoard = this.getGameBoard(); 开头的三行连续行旁边得到“局部变量隐藏一个字段”; .我只是很好奇这到底意味着什么,从长远来看它是否对我的程序有任何影响。
public void initialze(){
myBoard = getGameBoard();
obstacleLocations = myBoard.getObstaclePositions();
pastureLocations = myBoard.getPasturePositions();
GameBoard myBoard = this.getGameBoard();
ArrayList<GameLocation> obstacleLocations = myBoard.getObstaclePositions();
ArrayList<GameLocation> pastureLocations = myBoard.getPasturePositions();
GameLocation closestPasture = pastureLocations.get(0);
GameLocation closestObstacle = obstacleLocations.get(0);
最佳答案
这意味着您有两个同名的不同变量 - myBoard
。其中之一是您类(class)中的一个字段。另一种是局部变量,即您在方法内部声明的变量。
让两个变量同名是个坏主意。它会使您的代码非常困惑且难以维护。
关于java - 局部变量隐藏一个字段是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29832466/