五月综合缴情婷婷六月,色94色欧美sute亚洲线路二,日韩制服国产精品一区,色噜噜一区二区三区,香港三级午夜理伦三级三

您現(xiàn)在的位置: 365建站網(wǎng) > 365文章 > java中類public class和class聲明區(qū)別

java中類public class和class聲明區(qū)別

文章來源:365jz.com     點(diǎn)擊數(shù):630    更新時(shí)間:2018-07-30 09:10   參與評(píng)論

在java中聲明一個(gè)類的方式有兩種 即:public class 類名稱 和 class 類名稱。

(1)使用public class 聲明一個(gè)類時(shí),類名稱必須和文件名一致,否則程序?qū)o法編譯。

(2)使用class聲明一個(gè)類時(shí),類名稱可以和文件名不一致,但是在執(zhí)行時(shí)一定要執(zhí)行生成后的*。class文件。

(3)在一個(gè)java文件中可以有多個(gè)class類的定義,但是只能有一個(gè)public class定義。

(4)在定義類名稱時(shí),類的名稱首字母必須要大寫。這是命名規(guī)則。

java中的關(guān)鍵字:

(1)雖然goto、const在java中并沒有任何意義,卻也是保留字,他們與其他的關(guān)鍵字一樣,在程序中不能用來作為自定義的標(biāo)識(shí)符。

(2)true、false、null雖然也不是關(guān)鍵字,但是卻作為一個(gè)標(biāo)識(shí)類型,也不能直接使用。

(3)assert、enum關(guān)鍵字是java新增加的,assert是jdk1.4增加的,enum是jdk1.5后增加的


我們?cè)诰帉戭惖臅r(shí)候可以使用兩種方式定義類:

public class定義類:
class定義類:

如果一個(gè)類聲明的時(shí)候使用了public class進(jìn)行了聲明,則類名稱必須與文件名稱完全一致。
定義一個(gè)類(文件名稱為:HelloWorld.java)
public class HelloWorld{ //聲明一個(gè)類,類名稱的命名規(guī)范:所有單詞的首字母大寫
public static void main(String args[]){ //主方法
System.out.println("Hello World!!!"); //系統(tǒng)輸出,在屏幕上打印
}
};
public class HelloWorld { //聲明一個(gè)類,類名稱的命名規(guī)范:所有單詞首字母大寫

如果類的聲明使用了class的話,則類名稱可以與文件名稱不一致,但是執(zhí)行的時(shí)候,執(zhí)行的是生成后的名稱【HelloJava

定義一個(gè)類(文件名稱為:Hello.java) 
class HelloJava{
public static void main(String args[]){
System.out.println("Hello Java!!!");
}
};
文件名稱為Hello.java,文件名稱與類名稱不一致,但是因?yàn)槭褂昧薱lass聲明所以,此時(shí)編譯不會(huì)產(chǎn)生任何錯(cuò)誤,但是生成之后的*.class文件的名稱是和class聲明的類名稱完全一致的:HelloJava.class
執(zhí)行的時(shí)候不能再執(zhí)行java Hello ,而是應(yīng)該執(zhí)行java HelloJava 

在一個(gè)*.java的文件中,只能有一個(gè)public class的聲明,但是允許有多個(gè)class的聲明
public class Hello{
public static void main(String args[]){
System.out.println("Hello World!!!");
}
};
class A{};
class B{};

小結(jié):public class是公共類的意思,public 是訪問修飾符.java規(guī)定,一個(gè)類文件,public 修類的class只有一個(gè),并且類名必須和你新建的這個(gè)類文件名一樣,所以一個(gè)類文件中可以有多個(gè)類,但由public修飾的類只能有一個(gè).


//File name: HelloDemo.java
package com.package1;
 
public class Hello {
}
 
public class A{};
private class B{};   // protected class B{};

 

 
編譯出錯(cuò):


Error:(4, 8) java: class Hello is public, should be declared in a file named Hello.java

Error:(7, 8) java: class A is public, should be declared in a file named A.java

Error:(8, 9) java: modifier private not allowed here    //Error:(8, 11) java: modifier protected not allowed here

編譯OK后,將生成三個(gè)class文件:A.class B.class  HelloDemo.class

與C++的區(qū)別:

C++中public關(guān)鍵字不能修飾類,只能修飾成員變量,成員方法。

C++沒有包的概念,與之類似的是C++名字空間(比如:using namespace std)

包中,只有public修飾的類,才能在包外部包可見,否則只是包內(nèi)私有的類。


//File name: HelloDemo.java
package com.package1;
 
public class HelloDemo {
    public static void main_test(String[] args) {
        System.out.println("Enter ...");
    }
}
 
class A{}
class B{}


//File name: Main.java
package com.company;
 
public class Main {
    public static void main(String[] args) {
        System.out.println("Enter main ...");
        com.package1.HelloDemo demo = new com.package1.HelloDemo();  
        com.package1.A a;    //沒有import,也可通過全路徑訪問HelloDemo, java中的import與C++中的include就不是相似的東東。


Main.java編譯出錯(cuò):


Error:(8, 21) java: com.package1.A is not public in com.package1; cannot be accessed from outside package


如對(duì)本文有疑問,請(qǐng)?zhí)峤坏浇涣髡搲瑥V大熱心網(wǎng)友會(huì)為你解答??! 點(diǎn)擊進(jìn)入論壇

發(fā)表評(píng)論 (630人查看,0條評(píng)論)
請(qǐng)自覺遵守互聯(lián)網(wǎng)相關(guān)的政策法規(guī),嚴(yán)禁發(fā)布色情、暴力、反動(dòng)的言論。
昵稱:
最新評(píng)論
------分隔線----------------------------

其它欄目

· 建站教程
· 365學(xué)習(xí)

業(yè)務(wù)咨詢

· 技術(shù)支持
· 服務(wù)時(shí)間:9:00-18:00
365建站網(wǎng)二維碼

Powered by 365建站網(wǎng) RSS地圖 HTML地圖

copyright © 2013-2024 版權(quán)所有 鄂ICP備17013400號(hào)