本地类错误的非法修饰符

时间:2017-11-20 18:40:15

标签: java

所以我还是Java新手所以这可能真的很蠢,但我找不到答案所以我们走了!在我的代码的开头我试图声明类,简单地使用“公共类机器人{}”然而,它给我错误“本地类的非法修饰符____;只允许抽象或最终”。我在互联网上看到的任何地方,它都说不要把它称为静态类,但我不是!这可能是一件非常愚蠢的事情,我还不知道,因为我还是新人。请帮忙!这是我的代码:

public class Robot
{
private String dir = "N";

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

2 个答案:

答案 0 :(得分:1)

  

本地类____的非法修饰符;仅允许abstractfinal

该错误消息中要注意的“关键字”为本地

错误消息是Java语言规范§14.3 Local Class Declarations中此子句的结果:

  

如果本地类声明包含任何访问修饰符publicprotectedprivate§6.6)或修饰符,那么这是编译时错误static§8.1.1)。

local class是在方法中声明为的类。

将类移动到它自己的.java源文件中。或者删除public关键字,因为当类只在方法内的范围内时,将它声明为公共是没有意义的。

答案 1 :(得分:0)

在一个java文件中只能公开一个类,如果在同一个文件中包含main方法,那么只能将该类声明为public。

现在解决您的代码:仅移除公共关键字