gpt4 book ai didi

java - 这是阴影变量的情况吗?

转载 作者:太空宇宙 更新时间:2023-11-04 15:17:55 28 4
gpt4 key购买 nike

对编程完全陌生。遇到了一个难以调试的错误。正在尝试修复它最近几天。这样做让我自己几乎陷入歇斯底里的状态。决定坐下来看看随机页面上的Java书籍来冷静一下。本页是关于变量阴影的。然后我突然意识到我的代码中有这样的废话我声明相同的变量两次。我把它取下来, bug 似乎就消失了。

public class Action extends JPanel { 
private final Color BACKGROUND_COLOR = Color.BLACK; //JPanel background
private GameMemory memory = new GameMemory();
private int[][] grid = memory.getGrid();
public static Color penColor = Color.GRAY; //Variable for
//color

public Action() { //Setting everything for JPanel
memory = new GameMemory();
grid = memory.getGrid();
setBackground(BACKGROUND_COLOR);
setMinimumSize(new Dimension(360, 720));
setPreferredSize(new Dimension(360, 720));
setMaximumSize(new Dimension(360, 720));
setVisible(true);
new Timer(100, new TimerListener()).start();
//Setting Everything for keylistener
this.setFocusable(true);
this.requestFocus();
this.addKeyListener(new MyKeyListener());
}

那么大家觉得怎么样呢?这真的是影子案件吗?

最佳答案

您的声明中没有阴影概念。

当具有不同作用域的相同名称的变量或父级和子级具有相同的变量名称并访问它们时,阴影就会出现。

可能性是,

遮蔽局部变量遮蔽实例变量。

实例变量隐藏从其父级继承的变量。

   grid = memory.getGrid(); 

当您编写此内容时,先前的值将被覆盖。

关于java - 这是阴影变量的情况吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20717019/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com