Java 設計存取權限控制機制主要有兩大目的:
public → protected → default (package-private) → private
Java 原始碼檔案稱為編譯單元,每個檔案最多只能有一個 public 類,且類名必須與檔案名完全相同。編譯後每個類產生一個 .class 檔案,執行時由類載入器尋找、載入並解釋。
使用 package 關鍵字宣告套件,名稱隱含目錄結構。使用 import 匯入特定類或整個套件,簡化程式碼。
無任何修飾符即為 default。同一套件內的其他類可存取,套件外不可存取。
對所有類可見,無論是否在同一套件。
僅本類內部可存取,常用於單例模式等封裝場景。
同一套件內可存取;不同套件下,僅繼承該類的子類可存取。兼具套件存取權限。
public 或 default 修飾,不可用 private、protected。default 關鍵字混淆。