一張表看懂所有
| 代碼片段 | 專業術語 | 生活隱喻 |
public class Person {} | 類 | 「人」這個**抽象概念/模板** |
public void eat() {} | 方法 | 人**能做的事**之一:吃飯 |
Person p = new Person(); | 創建對象/實例化 | 具體的一個人:叫「小明」 |
p.eat(); | 調用方法 | 小明**正在吃飯** |
p.name = "小明"; | 設置屬性/字段 | 給這個人**起名字** |
private int age; | 私有屬性 | 年齡是**隱私**,外部不可直接改 |
Person p2 = p; | 引用賦值 | 告訴大家:「原來叫 p2 的人,其實就是 p」 |
p = q.getFriend(); | 方法返回對象賦值 | q 介紹了個朋友,讓 p 指向那個朋友 |
public Person(Address addr) {} | 構造器 | **出生證明**:沒有地址(參數)無法出生 |
{} (類體內) | 實例初始化塊 | **出生前準備**:發育器官、長頭髮... |
核心關係圖
類 (Class)
│ 定義結構、行為模板
▼
對象 1 (Object) ── 引用變量 a
│
對象 2 (Object) ── 引用變量 b
│
▼
方法調用:a.方法() → 執行類中定義的代碼,操作 a 的屬性
避坑指南
- 類 ≠ 對象:類是藍圖,對象是房子;一張藍圖可蓋無數房子。
- 引用 ≠ 對象:`Person p;` 只是遙控器,`new Person()` 才是電視機。
- 構造器無返回值:甚至不能寫 `void`,它的使命是初始化對象狀態。