如何在Java中创建不可变类?

初始化后不能修改不可变类对象的属性。例如,String是Java中的不可变类。我们可以按照下面的给定规则创建一个不可变的类-

  • 将类定为final-类应为final,以便不能扩展。

  • 将每个字段定为最终值-每个字段应定为最终值,以便初始化后无法对其进行修改。

  • 为每个字段创建getter方法。−为每个字段创建一个公共获取方法。字段应该是私有的。

  • 每个字段无设置方法。−请勿为任何字段创建公共设置方法。

  • 创建一个参数化的构造函数-这样的构造函数将用于初始化属性一次。

在下面的示例中,我们创建了一个不变类Employee。

示例

public class Tester{

   public static void main(String[] args){ 

      Employee e = new Employee(30, "Robert");

      System.out.println("Name: " + e.getName() +", Age: " + e.getAge());

   }

}

final class Employee {

   final int age;

   final String name;

   Employee(int age, String name){

      this.age = age;

      this.name = name;

   }

   public int getAge(){

      return age;

   }

   public String getName(){ 

      return name;

   }

}

输出结果

Name: Robert, Age: 30

以上是 如何在Java中创建不可变类? 的全部内容, 来源链接: utcz.com/z/321991.html

回到顶部