所以我还是Java新手所以这可能真的很蠢,但我找不到答案所以我们走了!在我的代码的开头我试图声明类,简单地使用“公共类机器人{}”然而,它给我错误“本地类的非法修饰符____;只允许抽象或最终”。我在互联网上看到的任何地方,它都说不要把它称为静态类,但我不是!这可能是一件非常愚蠢的事情,我还不知道,因为我还是新人。请帮忙!这是我的代码:
public class Robot
{
private String dir = "N";
public Robot(String dir)
{
this.dir = dir;
}
}
答案 0 :(得分:1)
本地类____的非法修饰符;仅允许
abstract
或final
该错误消息中要注意的“关键字”为本地。
错误消息是Java语言规范§14.3 Local Class Declarations中此子句的结果:
如果本地类声明包含任何访问修饰符
public
,protected
或private
(§6.6)或修饰符,那么这是编译时错误static
(§8.1.1)。
local class是在方法中声明为的类。
将类移动到它自己的.java
源文件中。或者删除public
关键字,因为当类只在方法内的范围内时,将它声明为公共是没有意义的。
答案 1 :(得分:0)
在一个java文件中只能公开一个类,如果在同一个文件中包含main方法,那么只能将该类声明为public。
现在解决您的代码:仅移除公共关键字