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

《Java核心技術 卷Ⅰ》第4章精華:對象與類核心概念全景圖解

     編輯:Java 綜合教學

第 4 章:對象與類 —— Java 面向對象編程的基石

《Java核心技術 卷Ⅰ 基礎知識》第 4 章系統闡述了類與對象的核心機制。本文提煉重點,結合圖解幫助構建知識骨架。

4.1 類的基本結構

  • 字段:描述對象狀態(實例字段、靜態字段)
  • 方法:定義對象行為(實例方法、靜態方法)
  • 構造器:初始化新對象,名稱與類同,無返回類型

類結構圖解

4.2 構造器重載與鏈式調用

  • 使用 this(...) 調用本類其他構造器,減少重復代碼
  • 構造器中不可調用非 final 實例方法(對象未完全構造)

構造器鏈式調用示例

4.3 訪問修飾符與封裝

修飾符同類同包子類(異包)非子類(異包)
private✓✗✗✗
default(無)✓✓✗✗
protected✓✓✓✗
public✓✓✓✓

封裝原則:字段 private,提供 public getter/setter,內部邏輯可變不影響調用者。

訪問權限矩陣圖

4.4 靜態字段與靜態方法

  • 屬於類而非實例,通过 ClassName.field 訪問
  • 靜態方法內不可直接訪問實例字段/方法,無 this 引用
  • 常用場景:工具類、單例模式、常量定義、工廠方法

靜態成員示意圖

4.5 方法參數傳遞機制:值傳遞

Java 只有值傳遞:

  • 基本類型:傳遞值的副本,方法內修改不影響原值
  • 引用類型:傳遞引用的副本(地址值),方法內可修改對象內部狀態,但無法讓引用指向新對象

參數傳遞內存模型

4.6 對象構造過程詳解

  1. 分配內存,默認初始化字段(0/null/false)
  2. 按聲明順序執行實例初始化塊與字段顯式初始化
  3. 執行構造器體代碼
  4. 構造器返回引用賦值給變量

對象構造時間線

4.7 包與導入

  • package 聲明在源文件首行,目錄結構與包名一致
  • import 靜態導入 import static java.lang.Math.PI; 可直接使用常量/靜態方法

4.8 類設計技巧(Effective Java 風格)

  1. 類職責單一,接口而非實現編程
  2. 優先使用不可變類(final 字段、無 setter、防禦性拷貝)
  3. 組合優於繼承,避免脆弱基類問題
  4. 慎用繼承,必須滿足「is-a」且子類需訪問父類受保護成員
  5. 設計文檔化:為繼承而設計,否則禁止繼承(final/class)

類設計原則圖解

本章核心考點速記卡

  • 構造器不被繼承,子類構造器首行隱式/顯式調用 super()
  • 靜態初始化塊類加載時執行一次,實例初始化塊每 new 一次執行一次
  • == 比較引用地址,equals() 比較邏輯內容(需重寫)
  • 方法重載:同名、參數列表不同;重寫:簽名相同、返回類型协变、拋出異常受限

第 4 章是通往 Java 進階之路的「內功心法」,建議配合《Effective Java》第 2、3 章(創建和銷毀對象、對於所有對象都通用的方法)深度研讀。

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