在 Java 中,可變語法是指允許對象的狀態在其生命週期內可以被修改的編程風格。與不可變語法相對,可變的對象允許通過 setter 方法或直接操作屬性來改變對象的屬性值。
屬性可以修改:
Setter 方法:
可修改的集合類型:
ArrayList
、HashMap
等),可以隨時向其中添加或刪除元素。優點:
缺點:
public class MutablePerson {
// 定義屬性
private String name;
private int age;
// 建構子
public MutablePerson(String name, int age) {
this.name = name;
this.age = 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;
}
// 方法:顯示個人資訊
public void showInfo() {
System.out.println("Name: " + name);
System.out.println("Age: " + age);
}
public static void main(String[] args) {
// 創建一個可變的 MutablePerson 物件
MutablePerson joe = new MutablePerson("Joe", 30);
// 顯示 Joe 的資訊
joe.showInfo();
// 修改屬性
joe.setName("Joseph");
joe.setAge(31);
// 再次顯示更新後的資訊
joe.showInfo();
}
}
MutablePerson
類別:
Setter 方法:
setName()
和 setAge()
方法允許外部修改 name
和 age
屬性。主程式:
MutablePerson
物件 Joe,並顯示其初始資訊。Name: Joe
Age: 30
Name: Joseph
Age: 31
在這個範例中,Joe 的名字和年齡可以隨時被修改,這展示了可變語法的靈活性。在實際應用中,根據需求的不同,開發者需要權衡使用可變對象還是不可變對象的利弊。