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

