20、Java并发-并发设计模式之不变模式

不变模式

一个类的内部状态创建后,在整个生命期间都不会发生变化时,就是不变类 ,不变模式不需要同步 。

创建一个不变的类:

public final class Product {
	// 确保无子类
	private final String no;
	// 私有属性,不会被其他对象获取
	private final String name;
	// final保证属性不会被2次赋值
	private final double price;

	public Product(String no, String name, double price) {
		// 在创建对象时,必须指定数据
		super();
		// 因为创建之后,无法进行修改
		this.no = no;
		this.name = name;
		this.price = price;
	}

	public String getNo() {
		return no;
	}

	public String getName() {
		return name;
	}

	public double getPrice() {
		return price;
	}

}

Java中不变的模式的案例有:

  • java.lang.String
  • java.lang.Boolean
  • java.lang.Byte
  • java.lang.Character
  • java.lang.Double
  • java.lang.Float
  • java.lang.Integer
  • java.lang.Long
  • java.lang.Short