Java 本地类错误的非法修饰符

Java 本地类错误的非法修饰符,java,Java,所以我对Java还是新手,所以这可能真的很愚蠢,但我找不到答案,所以我们开始吧!在我的代码开始时,我试图简单地用“public class robot{}”来声明这个类,但是,它给了我一个错误“本地类的非法修饰符___;;只允许使用抽象或final”。我在互联网上看到的每一个地方,它都说不要称之为静态类,但我不是!!!这可能真的很愚蠢,我还不知道,因为我还是新手。请帮忙!这是我的密码: 一个java文件中只能有一个类是公共的,如果在同一个文件中包含main方法,则只能将该类声明为公共的 现在,

所以我对Java还是新手,所以这可能真的很愚蠢,但我找不到答案,所以我们开始吧!在我的代码开始时,我试图简单地用“public class robot{}”来声明这个类,但是,它给了我一个错误“本地类的非法修饰符___;;只允许使用抽象或final”。我在互联网上看到的每一个地方,它都说不要称之为静态类,但我不是!!!这可能真的很愚蠢,我还不知道,因为我还是新手。请帮忙!这是我的密码:



一个java文件中只能有一个类是公共的,如果在同一个文件中包含main方法,则只能将该类声明为公共的

现在,代码的解决方案是:仅删除公共关键字

本地类的非法修饰符__;;只允许
摘要
最终

该错误消息中要注意的“关键字”是local

错误消息是Java语言规范中此子句的结果:

如果本地类声明包含任何访问修饰符
public
protected
、或
private
()或修饰符
static
(),则为编译时错误

A是在方法中声明的类


将类移动到它自己的
.java
源文件。或者删除
public
关键字,因为当类仅在方法内的作用域中时,无论如何声明它为public是没有意义的。

Robot.java文件中还有什么?如果您的代码只是Robot.java中的代码,那么它是正确的
public class Robot
{
private String dir = "N";

public Robot(String dir)
 {
    this.dir = dir;
 }
}