1.1 不可变类 immutable class
定义
- 被创建出来以后,值就不能被修改了
- 一个对象被创建出来以后,在整个生命周期中,它的成员变量就不能再被修改了
范围:
- 所有基本类型的包装类都是不可变类:Integer,Float
- String
- 声明了一个可以指向String类型对象的引用:String a = "Hello"
如何创建?
遵循五个原则
- 被private修饰
- 不提供写或者修改的方法,只有构造方法。
- 不会被子类覆盖,可以定义为final
- 如果一个类成员不是不可变量,利用clone方法
- Object: equals & hashCode
** 类不可变性,创建对象的时候就需要初始化所有成员变量:带参数构造器
String存在常量字符串池中