当前位置: 首页 > 知识库问答 >
问题:

本地类错误的非法修饰符

壤驷文华
2023-03-14

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

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

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

共有2个答案

王豪
2023-03-14

在一个java文件中只有一个类可以是公共的,如果您在同一个文件中包含main方法,那么只能声明该类为公共的。

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

东方琪
2023-03-14

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

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

错误消息是Java语言规范§14.3本地类声明中这一条款的结果:

如果本地类声明包含任何访问修饰符公共受保护的私有(§6.6),或修饰符静态(§8.1.1),则是编译时错误。

局部类是在方法中声明的类。

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

 类似资料:
  • 以下代码有什么问题 字符串引用名称显示编译错误-Java错误-参数名称的修饰符非法-仅允许使用final 我同意下面给出的建议,但我想了解为什么这是不允许的,尽管两者都是静态的?

  • 我目前正在从我找到的教程在Eclipse中构建一个应用程序,但我在代码中有错误。 我在下面包含了主要活动文件(MainActivity.java): 错误是这样写的 存在“变量levelNames的非法修饰符;只允许使用final” 有人有什么想法吗?

  • 我写的代码有一个错误消息。一切都应该是好的,因为这些例子都有相同的代码,但是不知何故我得到了一个错误。错误消息说: 期望令牌上 ")",; 语法错误-参数onOptionsItem选择的非法修饰符;只允许最终-期望令牌 "(",; 语法错误

  • 问题内容: preg_replace(‘/http:///ftp:///', ‘https://’, $value); 和内应改为 此代码给出错误: 什么是此任务的真正正则表达式? 问题答案: 尝试使用其他定界符,例如: 或(不建议使用)对正则表达式中每次出现的定界符进行转义: 另外,您正在搜索的确没有太大意义的模式,可能就是您的意思。 您可以将正则表达式缩短为: 了解错误: 在您的regex中,

  • 修饰类方法的关键字 通过在func关键字之前使用static关键字来定义一个类型方法. 类同样可以使用class关键字来定义一个类型方法, 区别在于class修饰的方法, 允许子类重写 e.g. static static func talk() -> Void { print("\(self) talk method") } class class Pe

  • 我想如果一个类被声明为public,它可以从任何地方访问。但是为什么eclipse称之为错误呢?