示例:创建不可变类的Java程序
final class Immutable {
private String name;
private int date;
Immutable(String name, int date) {
// initialize the immutable variables
this.name = name;
this.date = date;
}
// private getter methods
public String getName() {
return name;
}
public int getDate() {
return date;
}
}
class Main {
public static void main(String[] args) {
// create object of Immutable
Immutable obj = new Immutable("Programiz", 2011);
System.out.println("Name: " + obj.getName());
System.out.println("Date: " + obj.getDate());
}
}
输出
Name: Programiz
Date: 2011
在Java中,不可变类是指那些值不变的类。要创建一个不可变的类,请在这里
- 该类被声明为
final
因此无法扩展 - 班级成员的姓名和日期是
private
因此无法在班级外部访问 - 不包含任何setter方法,因此外部类无法更改类成员
- getter方法返回类成员的副本
- 类成员使用构造函数初始化