Java中的Immutable Class

还记得我们为什么需要Object.clone()和Cloneable接口么,简单的说就是为了避免别名效应带来的负面影响。另外一种解决方案就是设计自己的Immutable Class。相信只要使用过Java的人都用过Immutable Class,只是可能你不知道它属于Immutable Class而已。比如所有基本类型对应的Wrapper Class,Integer、Long、Float,还有最常见的String类。Immutable Class的特点Immutable Class最主要的特点就是对象本身一旦创建不可修改。刚一听你可能觉得这个概念好像和final关键字很像,但实际上final定义的“对象”其实是对象引用而不是对象本身。那么如何做到让一个Immutable对象不能被修改呢,最简单直接的办法就是让Immutable Class没有修改实例变量(instance variables)的public方法。

你可能感兴趣的:(java)