java - 局部变量隐藏一个字段是什么意思?

标签 java

所以这只是我代码的一部分,整个程序都可以编译和运行,但是我不断在以“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/

相关文章:

java - 如何防止在 JTable 单元格中输入数字以外的字符?

java - 尝试创建签名 APK 时出错 - 魔数(Magic Number)不匹配

java - 升级到版本为 2017.2.1 的新服务器后, Artifact 列中出现 "No Artifacts"

java - 将所有类的字段序列化为字节数组

java - 通过避免在特定场景中重写 java 父类(super class)方法来重新使用父类(super class)方法

java - 使用 "List"检索BigQuery的queryResult只得到512条记录

java - 将自定义 Java 类添加到 Matlab 的更好方法?

java - 一个点击即可打开 PDF 文件的应用程序?

java - 使用 Feign 客户端添加授权 token

java - mOnGridImageSelectedListener错误,获取数据和图片但崩溃