用于创建不可变类的 Java 程序

要理解此示例,您应该具备以下 Java 编程的知识:

Java 不可变类

在 Java 中,当我们创建一个不可变类的对象时,我们不能改变它的值。例如, String 是一个不可变的类。因此,一旦创建,我们就无法更改字符串的内容。

此外,我们还可以创建自己的自定义不可变类。要创建一个不可变的类,以下是我们需要做的来:

  • 将类声明为 final。这样的类不能扩展
  • 所有的类成员都应该是 private, 这样他们不能在类外访问
  • 不应包含任何 setter 方法来更改类成员的值
  • setter 方法应该返回类成员的副本
  • 类成员仅使用构造函数初始化

示例:创建不可变类的 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;
  }

}

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