不变模式
一个类的内部状态创建后,在整个生命期间都不会发生变化时,就是不变类 ,不变模式不需要同步 。
创建一个不变的类:
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