gpt4 book ai didi

java - 为什么需要静态修饰符以及如何修复它?

转载 作者:太空宇宙 更新时间:2023-11-04 07:24:45 26 4
gpt4 key购买 nike

我的 eclipse 告诉我,我需要使用静态修饰符,但是当我这样做时,洞的事情就会出错。这是我的代码,我希望你能帮助我并告诉我我搞砸了什么(我从 StealthyHunter7 得到了内部类的提示):

public class ClickBot 
{

private class Key
implements KeyListener
{
private boolean spacebarPressed = false;

@Override
public void keyTyped(KeyEvent e)
{
}

@Override
public void keyPressed(KeyEvent e)
{
if(e.getKeyCode() == KeyEvent.VK_SPACE)
{
spacebarPressed = true;
}
}

@Override
public void keyReleased(KeyEvent e)
{
if(e.getKeyCode() == KeyEvent.VK_SPACE)
{
spacebarPressed = false;
}
}

public boolean isSpacebarPressed()
{
return spacebarPressed;
}
}

Key keyObject = new Key();

public static void main(String[] args) throws IOException, AWTException
{
JFrame.addKeyListener(keyObject);
final Robot robot = new Robot();
robot.delay(2000);

while(keyObject.spacebarPressed())
{
{
robot.mousePress(InputEvent.BUTTON1_MASK);
robot.mouseRelease(InputEvent.BUTTON1_MASK);

robot.delay(30);
}
}
}
}

最佳答案

下面一定不能是字段,而是放在main方法中,即静态的。

Key keyObject = new Key();

在 Key 类中初始化 Key 字段后,看看 new Key() 上会发生什么:

  • 创建了一个Key实例,它有一个必须实例化的字段Key
  • 创建了一个Key实例,它有一个必须实例化的字段Key
  • 创建了一个Key实例,它有一个必须实例化的字段Key
  • ...

;)

更正:我没有看到这是两个嵌套类。使内部类静态。

private static class Key

否则类 Key 持有“ClickBot.this”,并且递归开始。

关于java - 为什么需要静态修饰符以及如何修复它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18725495/

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