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 的不可变类。