Java 不可变类
在Java中,当我们创建一个不可变类的对象时,我们无法更改其值。例如,String
是一个不可变类。因此,一旦创建,我们就无法更改字符串的内容。
此外,我们还可以创建自己的自定义不可变类。要创建不可变类,我们需要这样做:
- 将类声明为
final
,这样它就不能被继承。 - 所有类成员都应为
private
,以便它们不能在类外部访问。 - 不应包含任何**setter**方法来更改类成员的值。
- **getter**方法应返回类成员的副本。
- 类成员仅通过构造函数进行初始化。
示例:创建不可变类的Java程序
// class is declared final
final class Immutable {
// private class members
private String name;
private int date;
Immutable(String name, int date) {
// class members are initialized using constructor
this.name = name;
this.date = date;
}
// getter method returns the copy of class members
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
在上面的示例中,我们创建了一个名为Immutable的不可变类。