java中public class與class的區(qū)別詳解
更新時間:2013年07月22日 10:44:45 作者:
以下是對java中public class與class的區(qū)別進行了分析介紹,需要的朋友可以過來參考下
在編寫類的時候可以使用兩種方式定義類:
public class定義類:
class定義類:
如果一個類聲明的時候使用了public class進行了聲明,則類名稱必須與文件名稱完全一致。
范例:定義一個類(文件名稱為:Hello.java)
復(fù)制代碼 代碼如下:
public class HelloDemo{ //聲明一個類,類名稱的命名規(guī)范:所有單詞的首字母大寫
public static void main(String args[]){ //主方法
System.out.println("HelloWorld!!!"); //系統(tǒng)輸出,在屏幕上打印
}
};
此類使用public class聲明,類名稱是HelloDemo,但是文件名稱Hello.java,所以,此時編譯時會出現(xiàn)如下問題:
復(fù)制代碼 代碼如下:
Hello.java:1 類 HelloDemo 是公共的,應(yīng)在名為HelloDemo.java文件中聲明
public class HelloDemo{ //聲明一個類,類名稱的命名規(guī)范:所有單詞首字母大寫
1、錯誤
以上的錯誤提示表示:因為使用的是public class聲明,所以類名稱應(yīng)該與文件名稱完全一致,即應(yīng)該使用"HelloDemo.java"表示類的名稱。
如果類的聲明使用了class的話,則類名稱可以與文件名稱不一致,但是執(zhí)行的時候肯定執(zhí)行的是生成后的名稱。
范例:有如下代碼(文件名稱為:Hello.java)
復(fù)制代碼 代碼如下:
class HelloDemo{
public static void main(String args[]){
System.out.println("HelloWorld!!!");
}
};
文件名稱為Hello.java,文件名稱與類名稱不一致,但是因為使用了class聲明所以,此時編譯不會產(chǎn)生任何錯誤,但是生成之后的*.class文件的名稱是和class聲明的類名稱完全一致的:HelloDemo.class
執(zhí)行的時候不能再執(zhí)行java Hello,而是應(yīng)該執(zhí)行javaHelloDemo
在一個*.java的文件中,只能有一個public class的聲明,但是允許有多個class的聲明
復(fù)制代碼 代碼如下:
public class Hello{
public static void main(String args[]){
System.out.println("HelloWorld!!!");
}
};
class A{};
class B{};
在以上的文件中,定義了三個類,那么此時程序編譯之后會形成三個*.class文件。
相關(guān)文章
spring?boot只需兩步優(yōu)雅整合activiti示例解析
這篇文章主要主要來教大家spring?boot優(yōu)雅整合activiti只需兩步就可完成測操作示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助祝大家多多進步2022-03-03JSON反序列化Long變Integer或Double的問題及解決
這篇文章主要介紹了JSON反序列化Long變Integer或Double的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-01-01SpringSecurity跨域請求偽造(CSRF)的防護實現(xiàn)
本文主要介紹了SpringSecurity跨域請求偽造(CSRF)的防護實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07JAVA幫助文檔全系列 JDK1.5 JDK1.6 JDK1.7 官方中英完整版整理
JDK(Java Development Kit,Java開發(fā)包,Java開發(fā)工具)是一個寫Java的applet和應(yīng)用程序的程序開發(fā)環(huán)境。它由一個處于操作系統(tǒng)層之上的運行環(huán)境還有開發(fā)者編譯,調(diào)試和運行用Java語言寫的applet和應(yīng)用程序所需的工具組成2014-01-01