错误告诉我 运行 class 中的方法未定义,即使它是

Error telling me that the method in my run class is undefined even though it is

我试图进入 Java 机器人 class 所以我想一开始我只是简单地编写一个程序来将鼠标移动到屏幕上的 0,0。

一切看起来都很完美,但是当我尝试 运行 时出现错误:

"The method go() is undefined for the type run"

想知道你们中是否有人知道我为什么会收到此错误。

main.java:

public class main {

    public static void main(String[] args) {
        run run = new run();

        run.go();
    }
}

run.java:

import java.awt.AWTException;
import java.awt.Robot;
public class run {

    public void go(){

        Robot robot = null;
        try {
            robot = new Robot();
        } catch (AWTException e) {
            e.printStackTrace();
        }

        robot.mouseMove(0, 0);
    }


}

-谢谢

你的 class 的类型是 run,这就是编译器试图使用的类型(class named run) 而没有 static void go。基本上,你有 shadowed run(我注意到它不在包中,并且 class 名称 should 以一个大写字母)。我建议你解决这些问题,但你 可以 改变

run run = new run();
run.go();

new run().go();

至于shadow,名为run的变量是shadowed通过名为 run 的 class(在词法上 class 名称在变量名称之前被搜索)。

run runner = new run();
runner.go();

也可以。