1. 程式人生 > >錯誤: 類Something是公共的, 應在名為 Something.java 的文件中聲明

錯誤: 類Something是公共的, 應在名為 Something.java 的文件中聲明

sta 編譯 存在 log pos [] 並且 有一個 void

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 的文件中聲明