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

Java 進階類別概念:存取修飾符、封裝、Getter/Setter、靜態區塊、內部類別

     編輯:Java 程式設計入門

8.1 存取修飾符

修飾符存取範圍
public所有類別皆可存取
private僅同一類別內可存取
protected同類別、子類別、同套件
預設 (package-private)同套件內可存取

目的:限制屬性與方法的存取範圍,實現資訊隱藏。

8.2 封裝

依資訊隱藏原則組織資料。兩大特徵:資訊集中、資訊隱藏。

8.3 Getter/Setter vs Public 屬性

私有屬性配合 Getter/Setter 的優勢:

  • 唯讀/唯寫控制:移除 getter 或 setter 即可實現,public 屬性無法做到。
  • 資料驗證:在 setter 中加入合法性檢查,保護屬性值合法性,public 屬性無法攔截。

8.4 靜態區塊 vs 實例化區塊


// 靜態區塊:類別載入時執行一次
static { }

// 實例化區塊:每建立一個物件執行一次,在 super() 之後執行
{ }

物件實例化完整順序:

  1. 呼叫子類別建構子
  2. 執行 super(),控制權轉至父類別建構子
  3. 父類別建構子執行完,控制權回子類別
  4. 子類別建構子中 super() 之後、其他語句之前 → 執行實例初始化區塊
  5. 最後執行子類別建構子 super() 之後的語句

8.5 內部類別

  • 定義在另一個類別內部的類別,外部類別包裹內部類別。
  • 內部類別相當於外部類別的成員,內部類別物件的建立必須依賴外部類別物件。
  • 編譯產生的 class 檔名格式:外部類別名$內部類別名.class。

總結

掌握存取控制、封裝技巧、初始化區塊執行順序與內部類別機制,是撰寫健壯、可維護 Java 程式的關鍵進階技能。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved