错误: 类Something是公共的, 应在名为 Something.java 的文件中声明

Posted haha

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了错误: 类Something是公共的, 应在名为 Something.java 的文件中声明相关的知识,希望对你有一定的参考价值。

Java编译报错:

  错误: 类Something是公共的, 应在名为 Something.java 的文件中声明

如下图所示:

第一种解释:
“类A是公共的,应在名为 A.java 的文件中声明”这句话需要分两步来理解

  1、在Java中,如果类A被声明为公共的(public),那么必须将类A保存在名为 A.java的文件中;
  2、反之,在一个Xxx.java的文件中最多包含一个顶级的公共类,并且该公共类的名字要与文件名相同。比如文件A.java中,允许定义一个或多个类,但最多允许一个顶级的公共类,此类名为A。
  注意:此处强调的顶级的意思是:允许非顶级的公共类存在,如内部公共类(即内部类中的公共类)等。

第二种解释:
  这是你的命名错误,把文件名改为 A.java ,因为该文件里面的类是public class A {} ,
  要不可以把你这个公共的(public)去掉,那么文件名就可以任意起了。否则文件名就要和类名保持一致。

第三种解释:
  一个文件中最多只能有一个类是public的,这样可以暴露类的定义,方便其他类来访问! 如果已经有了这个公共的类 ,那么这个文件名必须和类名相同!  

  还要注意:如果只建了一个 .java文件,public只能声明在public static void main(String[] args) {} 前,否则即使定义的public的类名与你声明的java文件的名字一致,也会编译报错。

以上是关于错误: 类Something是公共的, 应在名为 Something.java 的文件中声明的主要内容,如果未能解决你的问题,请参考以下文章

helloworld.java:1: 错误: 类HelloWorld是公共的, 应在名为 HelloWorld.java 的文件中声明 public class HelloWorld

蓝桥杯java怎么提交代码

此类应在 android manifest 中提供默认构造函数(不带参数的公共构造函数)

036-当一个public类没有办法进行编译的时候

公共静态变量值

www是子域吗? [关闭]