代碼結構
public class People {
private String name; // 姓名
private int age; // 年齡
// Getter
public String getName() { return name; }
public int getAge() { return age; }
// Setter
public void setName(String name) { this.name = name; }
public void setAge(int age) { this.age = age; }
}
核心知識點
- 封裝性:屬性
private,對外僅暴露 public 方法,控制訪問邏輯(如驗證年齡 > 0)。
- JavaBean 規範:無參構造器 + private 屬性 + 規範命名的 Getter/Setter,為反射、序列化、框架(Spring、MyBatis、Jackson)提供約定接口。
- IDE 自動生成:Alt+Insert (IntelliJ) / Source → Generate Getters and Setters (Eclipse),無需手寫。
- Lombok 簡化:
@Data 一行註解替換所有樣板代碼,編譯期自動注入。
進階思考
- 不可變對象:去除 Setter,構造器賦值,配合
@Value (Lombok) 或 record (Java 14+)。
- 建造者模式:屬性較多時,使用
@Builder 鏈式調用構建對象。