1. 程式人生 > >java詳析class和public class區別

java詳析class和public class區別

通過 javac 關系 區別 文件 命令編譯 程序 需要 java

public class和class的區別
類的定義有兩種方式:

  • public class 類名
  • class 類名

我可以將class前面的public去掉,如果采用public class來聲明class,那麽文件名必須和類名一致,這是規定,如果文件名和類名不一致,怎樣呢?我們來把之前的那個HelloWorld.java的文件名修改一下,比如我改成了World.java,然後執行javac命令,可以看到如下報錯信息:

技術分享圖片

如果使用class來聲明類,文件名可以是任何合法的文件名稱,文件名不需要和Class類一致,我把代碼裏面的public去掉,文件名依然是World.java,使用javac命令重新編譯,可以看到生成了一個新的HelloWorld.class文件,然後運行java HelloWorld,可以看到程序依然可以正常運行。通過這裏可以得出一個結論就是,使用javac命令所編譯出的class文件的名稱跟java的文件名沒有關系,而是跟類名一致。

技術分享圖片

在一個Java文件裏面,可以聲明多個class,但是只能聲明一個public class,示例代碼:

技術分享圖片

使用javac命令編譯後,你會發現每個class都會生成一個對應的.class文件

技術分享圖片

java詳析class和public class區別