在这个实例中,我们将学习如何用Java创建一个不可变的类。
要理解此示例,您应该了解以下Java编程主题:
final class Immutable {
private String name;
private int date;
Immutable(String name, int date) {
//初始化不可变变量
this.name = name;
this.date = date;
}
//私有 getter 方法
public String getName() {
return name;
}
public int getDate() {
return date;
}
}
class Main {
public static void main(String[] args) {
//创建不可变对象
Immutable obj = new Immutable("nhooo", 2011);
System.out.println("Name: " + obj.getName());
System.out.println("Date: " + obj.getDate());
}
}输出结果
Name: nhooo Date: 2011
在Java中,不可变类是指那些值不变的类。要创建一个不可变的类,请注意这里:
该类被声明为final,因此无法扩展
类成员 name 和 date 被声明为 private,所以不能在类外访问
不包含任何setter方法,因此外部类无法更改类成员
getter方法返回类成员的副本
类成员使用构造函数初始化