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

Posted

技术标签:

【中文标题】错误告诉我运行类中的方法未定义,即使它是【英文标题】:Error telling me that the method in my run class is undefined even though it is 【发布时间】:2020-04-11 14:27:05 【问题描述】:

我试图进入 Java 机器人类,所以我想一开始我只是简单地编写一个程序来将鼠标移动到屏幕上的 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();
    

运行.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);
    



-谢谢

【问题讨论】:

您是否尝试过将您的 run 类重命名为“Run”(使用大写字母 R)。也许 Java 确实喜欢 run run = new run() 【参考方案1】:

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

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

new run().go();

至于 shadow,名为 run 的变量被名为 run 的类shadowed(按词法搜索类名在变量名之前)。

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

也可以。

【讨论】:

以上是关于错误告诉我运行类中的方法未定义,即使它是的主要内容,如果未能解决你的问题,请参考以下文章

ionic 3 html按钮链接到.ts中的一个函数,但说它是未定义的

Symfony 2,未定义的变量,在构造函数中初始化为 ArrayCollection 的受保护成员通过错误,它是未定义的

i += ++i 在 C++0x 中是未定义的行为吗?

为啥没有用户ID?它是未定义的

useContext 返回未定义,即使它不应该是未定义的

即使对象已定义,也无法读取“未定义”的属性! [反应]