使某一个类变成非可变类应该遵循下面四条规则:
1,不要提供任何会修改对象的方法(mutator)。
2,保证没有可被子类改写的方法。
3,所有域都是final的。
4,保证对于任何可变组件的互斥访问。不要使用用户提供的对象初始化这样的非可变类的域,不要在任何访问方法中返回该对象的引用。
非可变类的优点:
1,比较简单,只有一个状态。
2,线程安全。
3,可以被自由的共享。
缺点:
1,不同的值需要不同的实例。
本文介绍了将一个类设计为非可变类的四个基本原则,包括禁止修改对象、确保方法不可被覆写、所有成员变量设为final以及保护可变组件的访问。非可变类具有简化状态管理、天然线程安全和易于共享等优点。
使某一个类变成非可变类应该遵循下面四条规则:
1,不要提供任何会修改对象的方法(mutator)。
2,保证没有可被子类改写的方法。
3,所有域都是final的。
4,保证对于任何可变组件的互斥访问。不要使用用户提供的对象初始化这样的非可变类的域,不要在任何访问方法中返回该对象的引用。
非可变类的优点:
1,比较简单,只有一个状态。
2,线程安全。
3,可以被自由的共享。
缺点:
1,不同的值需要不同的实例。
2528

被折叠的 条评论
为什么被折叠?