【Java_基礎】Java的訪問權限控制


1.類成員的訪問權限控制

Java中類成員的訪問權限分為四類:private,無(默認情況下),protected和public。其權限控制如下表所示:

修飾詞

本類

同一個包的類

繼承類

其他類

private

×

×

×

無(默認)

×

×

protected

×

public

 其中,類成員在默認情況下沒有任何修飾詞,這樣的成員具有“包訪問權”,即位於同一個包中的類對其有訪問權;而protected為“繼承訪問權”,即該類的子類對其具有訪問權(同時,位於同一個包中的類也對其具有訪問權)。

2.類自身的訪問權限控制

對於java類自身(除了內部類外,因為內部類也是類的成員故有上述四種權限修飾),其訪問權限僅有兩種:public和“無”(即包訪問權),而沒有private和protected。如果你 不希望其他任何人對該類擁有訪問權,你可以把所有的構造器都指定為private,從而阻止任何人創建該類的對象。但是可以通過該類的靜態方法創建對象,如下面的例子:

class Soup {
       // private Constructor!
       private Soup() {}
       // Allow creation via static method:
       public static Soup makeSoup() {
           return new Soup();
       }
    }

注意:

1、如果一個.java源文件中有多個類,那么只能有一個類是public類;如果有一個類是public類,那么源文件的名字必須與這個類的名字完全相同。

2、如果源文件中沒有public類,那么源文件的名字可以任意取。這樣編譯是沒問題的,運行時選擇主類(包含main方法)運行就可以。

3、main()方法不是必須要放在public類中才能運行程序。

本篇博文參考:Java基礎詳解 (一)Java的類成員訪問權限修飾詞(以及類訪問權限)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM