如何在 Java 中创建不可变类?
不可变类对象的属性在初始化之后不能被修改。例如,String 是 Java 中的不可变类。我们可以按以下给定的规则创建一个不可变类。
使类变为 final − 类应变为 final,以便不能对其进行扩展。
使每个字段变为 final − 每个字段都应变为 final,以便它们在初始化之后不能被修改。
为每个字段创建 getter 方法。 − 为每个字段创建一个公共 getter 方法。字段应为私有的。
不为每个字段设置 setter 方法。 − 不为任何字段创建公共 setter 方法。
创建一个带参数的构造函数 − 这样的构造函数将用于一次初始化属性。
在下面的示例中,我们创建了一个不可变类 Employee。
示例
public class Tester { public static void main(String[] args) { Employee e = new Employee(30, "Robert"); System.out.println("Name: " + e.getName() +", Age: " + e.getAge()); } } final class Employee { final int age; final String name; Employee(int age, String name) { this.age = age; this.name = name; } public int getAge() { return age; } public String getName() { return name; } }
输出
Name: Robert, Age: 30
广告