如何在 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
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP