文章目錄 Java面向對象編程核心筆記 一、方法值傳遞機制 1. 基本數據類型傳遞 2. 引用數據類型傳遞 值傳遞總結 二、面向對象核心概念 1. 類與對象關系 2. 類定義規范 3. 對象創建與使用 三、封裝機制詳解 1. 封裝三大要素 2. 封裝示例(GirlFriend類) 3. 測試類 4. 封裝優勢分析 四、核心概念總結 1. 值傳遞 vs 引用傳遞 2. 面向對象三大特征 3. 封裝最佳實踐
Java面向對象編程核心筆記
一、方法值傳遞機制
1. 基本數據類型傳遞
public class ValuePassingDemo { public static void main ( String [ ] args) { int a = 10 ; System . out. println ( "修改前: " + a) ; change ( a) ; System . out. println ( "修改后: " + a) ; } public static void change ( int a) { a = 20 ; }
}
2. 引用數據類型傳遞
public class ReferencePassingDemo { public static void main ( String [ ] args) { int [ ] arr = { 1 , 2 , 3 } ; System . out. println ( "修改前: " + Arrays . toString ( arr) ) ; modifyArray ( arr) ; System . out. println ( "修改后: " + Arrays . toString ( arr) ) ; } public static void modifyArray ( int [ ] array) { array[ 0 ] = 10 ; }
}
值傳遞總結
傳遞類型 特點 內存變化 示例 基本數據類型 傳遞值副本 修改不影響原始值 int
, double
等引用數據類型 傳遞引用副本 修改對象內容影響原始對象 數組、對象 重新賦值引用 不影響原始引用 指向新對象不影響原對象 array = new int[5]
二、面向對象核心概念
1. 類與對象關系
概念 定義 關系 示例 類 對象的藍圖/模板 描述共同特征 class Car { ... }
對象 類的具體實例 基于類創建 Car myCar = new Car()
成員變量 對象的屬性 描述狀態 String color;
成員方法 對象的行為 描述功能 void startEngine() { ... }
2. 類定義規范
public class Student { private String name; private int age; public void study ( String subject) { System . out. println ( name + "正在學習" + subject) ; }
}
3. 對象創建與使用
public class ObjectDemo { public static void main ( String [ ] args) { Student student = new Student ( ) ; student. setName ( "張三" ) ; student. setAge ( 20 ) ; student. study ( "Java編程" ) ; }
}
三、封裝機制詳解
1. 封裝三大要素
要素 目的 實現方式 私有化字段 防止外部直接訪問 private
修飾符公共Getter 提供安全讀取 public 數據類型 getXxx()
公共Setter 提供安全修改 public void setXxx(參數)
2. 封裝示例(GirlFriend類)
public class GirlFriend { private String name; private int age; private String gender; public void setName ( String n) { name = n; } public String getName ( ) { return name; } public void setAge ( int a) { if ( a >= 18 && a <= 40 ) age = a; else System . out. println ( "年齡不符合要求" ) ; } public int getAge ( ) { return age; } public void setGender ( String g) { gender = g; } public String getGender ( ) { return gender; }
}
3. 測試類
public class GirlFriendTest { public static void main ( String [ ] args) { GirlFriend girlFriend = new GirlFriend ( ) ; girlFriend. setName ( "小紅" ) ; girlFriend. setAge ( 20 ) ; girlFriend. setGender ( "女" ) ; System . out. println ( "姓名: " + girlFriend. getName ( ) ) ; System . out. println ( "年齡: " + girlFriend. getAge ( ) ) ; System . out. println ( "性別: " + girlFriend. getGender ( ) ) ; }
}
4. 封裝優勢分析
數據保護 :防止不合理賦值(如負數年齡)操作可控 :所有修改通過方法進行邏輯集中 :驗證規則統一維護使用簡化 :調用者無需了解內部實現易于維護 :內部修改不影響外部調用
四、核心概念總結
1. 值傳遞 vs 引用傳遞
特性 值傳遞 引用傳遞 傳遞內容 值副本 引用地址副本 原始值影響 不影響 影響對象內容 重新賦值 不影響原變量 不影響原引用 典型類型 基本數據類型 數組、對象
2. 面向對象三大特征
特征 核心思想 關鍵實現 封裝 隱藏實現細節 private字段 + public方法 繼承 代碼復用擴展 extends關鍵字 多態 同一接口不同實現 方法重寫 + 父類引用子類對象
3. 封裝最佳實踐
字段私有化 :所有成員變量使用private
方法公共化 :提供公共訪問接口參數驗證 :在setter中添加業務規則構造方法 :初始化必須屬性行為封裝 :將相關操作封裝成方法
“好的封裝就像黑盒子:使用者只需知道輸入和輸出,無需了解內部實現細節。”