首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Java 存取權限修飾符詳細解析:public、protected、default、private

     編輯:Java 相關知識

為什麼需要存取權限控制?

Java 設計存取權限控制機制主要有兩大目的:

  1. 防止使用者觸碰不應觸碰的內部實作細節,這些細節雖對類內部運作必要,但不屬於客戶端程式設計師所需的介面一部分。
  2. 讓類庫設計者能夠變更類的內部實作,而不必擔心對使用者造成嚴重影響。

權限等級(由大到小)

public → protected → default (package-private) → private

套件 的概念與作用

1. 程式碼組織

Java 原始碼檔案稱為編譯單元,每個檔案最多只能有一個 public 類,且類名必須與檔案名完全相同。編譯後每個類產生一個 .class 檔案,執行時由類載入器尋找、載入並解釋。

2. 套件的作用

  • 將功能相似或相關的類/介面組織在同一套件,方便查找與使用。
  • 採用樹狀目錄儲存,同一套件內類名唯一,不同套件可同名,透過套件名區分,避免命名衝突。
  • 限制存取權限,擁有套件存取權限的類才能存取該套件中的類。

3. 建立與匯入套件

使用 package 關鍵字宣告套件,名稱隱含目錄結構。使用 import 匯入特定類或整個套件,簡化程式碼。

四種存取權限修飾符詳解

1. default(套件存取權限 / package-private)

無任何修飾符即為 default。同一套件內的其他類可存取,套件外不可存取。

2. public(公開存取權限)

對所有類可見,無論是否在同一套件。

3. private(私有存取權限)

僅本類內部可存取,常用於單例模式等封裝場景。

4. protected(受保護存取權限)

同一套件內可存取;不同套件下,僅繼承該類的子類可存取。兼具套件存取權限。

注意事項

  • 靜態成員/方法的權限修飾用法與一般成員相同。
  • 類本身只能用 public 或 default 修飾,不可用 private、protected。
  • 不要將 default 稱為「預設存取權限」,避免與 Java 8 介面中的 default 關鍵字混淆。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved