前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >错误: 类Something是公共的, 应在名为 Something.java 的文件中声明

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

作者头像
黑泽君
发布2018-10-11 17:57:23
7.6K0
发布2018-10-11 17:57:23
举报
文章被收录于专栏:黑泽君的专栏

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文件的名字一致,也会编译报错。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-02-21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档