- 相關(guān)推薦
java - public class與class的區(qū)別詳解
在編寫(xiě)類(lèi)的時(shí)候可以使用兩種方式定義類(lèi):
public class定義類(lèi):
class定義類(lèi):
如果一個(gè)類(lèi)聲明的時(shí)候使用了public class進(jìn)行了聲明,則類(lèi)名稱(chēng)必須與文件名稱(chēng)完全一致。
范例:定義一個(gè)類(lèi)(文件名稱(chēng)為:Hello.java)
復(fù)制代碼 代碼如下:
public class HelloDemo{ //聲明一個(gè)類(lèi),類(lèi)名稱(chēng)的命名規(guī)范:所有單詞的首字母大寫(xiě)
public static void main(String args[]){ //主方法
System.out.println("HelloWorld!!!"); //系統(tǒng)輸出,在屏幕上打印
}
};
此類(lèi)使用public class聲明,類(lèi)名稱(chēng)是HelloDemo,但是文件名稱(chēng)Hello.java,所以,此時(shí)編譯時(shí)會(huì)出現(xiàn)如下問(wèn)題:
復(fù)制代碼 代碼如下:
Hello.java:1 類(lèi) HelloDemo 是公共的,應(yīng)在名為HelloDemo.java文件中聲明
public class HelloDemo{ //聲明一個(gè)類(lèi),類(lèi)名稱(chēng)的命名規(guī)范:所有單詞首字母大寫(xiě)
1、錯(cuò)誤
以上的錯(cuò)誤提示表示:因?yàn)槭褂玫氖莗ublic class聲明,所以類(lèi)名稱(chēng)應(yīng)該與文件名稱(chēng)完全一致,即應(yīng)該使用"HelloDemo.java"表示類(lèi)的名稱(chēng)。
如果類(lèi)的聲明使用了class的話(huà),則類(lèi)名稱(chēng)可以與文件名稱(chēng)不一致,但是執(zhí)行的時(shí)候肯定執(zhí)行的是生成后的名稱(chēng)。
范例:有如下代碼(文件名稱(chēng)為:Hello.java)
復(fù)制代碼 代碼如下:
class HelloDemo{
public static void main(String args[]){
System.out.println("HelloWorld!!!");
}
};
文件名稱(chēng)為Hello.java,文件名稱(chēng)與類(lèi)名稱(chēng)不一致,但是因?yàn)槭褂昧薱lass聲明所以,此時(shí)編譯不會(huì)產(chǎn)生任何錯(cuò)誤,但是生成之后的*.class文件的名稱(chēng)是和class聲明的類(lèi)名稱(chēng)完全一致的:HelloDemo.class
執(zhí)行的時(shí)候不能再執(zhí)行java Hello,而是應(yīng)該執(zhí)行javaHelloDemo
在一個(gè)*.java的文件中,只能有一個(gè)public class的聲明,但是允許有多個(gè)class的聲明
復(fù)制代碼 代碼如下:
public class Hello{
public static void main(String args[]){
System.out.println("HelloWorld!!!");
}
};
class A{};
class B{};
在以上的文件中,定義了三個(gè)類(lèi),那么此時(shí)程序編譯之后會(huì)形成三個(gè)*.class文件。
【java - public class與class的區(qū)別詳解】相關(guān)文章:
Java中Class對(duì)象詳解09-03
Java Class文件是什么11-08
java的Class類(lèi)有哪些10-01
Java語(yǔ)言Class文件是什么09-02
PE Class教案范文10-16
《Unit 12 Dont eat in class》教案07-14