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

Java 語言入門教程(三):訪問權限修飾符完全指南

     編輯:Java 相關知識

封裝是面向對象三大特性之一,Java 提供四級訪問權限控制類、字段、構造器、方法的可見範圍。本文按權限從小到大系統講解 private、默認、protected、public 的適用對象、可見範圍與設計原則。

四級權限對比表

修飾符關鍵字可修飾對象同類同包其他類不同包子類不同包非子類
私有private字段、構造器、方法✅❌❌❌
默認(包私有)(無)類、字段、構造器、方法✅✅❌❌
受保護protected字段、構造器、方法✅✅✅❌
公共public類、字段、構造器、方法✅✅✅✅

關鍵規則速記

  1. 類(外部類)只能 public 或默認,不能用 private/protected
  2. 所有修飾符都能修飾字段、方法、構造器
  3. 最小權限原則:字段優先 private,提供 public getter/setter;構造器視實例化策略決定;工具類構造器 private 防實例化
  4. 修飾的是「被訪問者」的權限,而非訪問者

設計場景決策樹

需要被任意類使用? → public
   ↓ 否
需要被子類繼承/覆寫? → protected
   ↓ 否
需要被同包協作類使用? → 默認
   ↓ 否
僅本類內部使用? → private

常見誤區

  • 接口方法隱式 public abstract,不可降低權限
  • 覆寫方法權限不能低於被覆寫方法(可放寬)
  • 外部類默認權限導致不同包不可見,跨包使用須加 public
  • 構造器 private 可實現單例、工具類、建造者模式

最佳實踐清單

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
場景推薦權限理由
實例字段private封裝狀態,受控訪問
常量public static final全局可見,不可變
工具類構造器private防止實例化
API 公開方法public契約承諾
內部協作方法默認 / protected包內/子類可見
模板方法鉤子protected供子類擴展