封裝是面向對象三大特性之一,核心思想是信息隱藏與受控訪問。具體做法:將類的屬性(成員變量)設置為 private 私有,不允許外部直接訪問;再為每個屬性提供一對公共的 getter(取值器) 和 setter(賦值器) 方法,作為外部訪問的唯一入口。
public class User {
private String name; // 私有屬性
// Getter
public String getName() {
return name;
}
// Setter
public void setName(String name) {
this.name = name;
}
}
this 的作用當方法參數與實例變量同名時(如 setName(String name)),this.name 代表當前對象的實例變量,name 代表局部參數。this 是對調用該方法的當前對象的引用,消除同名衝突,也是構造器鏈調用(this(...))的基礎。
private。getXxx / setXxx(布爾型慣用 isXxx)。實際開發中,大量樣板代碼可通過 Lombok 的 @Data / @Getter / @Setter / @Accessors(chain=true) 自動生成,保持代碼乾淨。但理解底層原理仍是設計良好領域模型的前提。
public final 字段或 record (Java 14+) 更簡潔高效。