不可变类

不可变类比可变类更加易于设计、实现和使用。它们不容易出错,且更加安全。

如:String 、基本类型包装类和BigInteger和BigDecimal
其设计遵循以下5条原则
1.不要提供任何会修改对象状态的方法
2.保证类不会被扩展
3.使所有的域都是final
4.使所有的域都是私有的
5.确保对于所有的可变组件的互斥访问

 

常规实现:

 

采用单例模式实现:

不可变类采用静态工厂实现,优点:
1.比构造器描述清楚
2.单一性。

模式:
1.创建的构造器是private的
2.public static 类 方法名(param...){
}

 

 

posted @ 2018-01-03 11:25  lamsey16  阅读(148)  评论(0编辑  收藏  举报