可变对象(mutable Objects),不可变对象(Immutable ojbects),那么他们有什么区别呢?
不可变对象意味着这个对象是final的,对象中所有的公共属性是final的。同时说明这个对象是线程安全的,这意味着他们可以在多线程中使用,而不需要使用synchronization。
可变对象和不可变对象相反,java中大部分都是可变对象。
不可变对象有哪些
String,Integer以及其他的封装类型都是不可变对象。。
怎样创建不可变对象
类是final的,并且中所有类属性都是final的。
- public final class FinalTest {
- private final String NAME = "name";
- private final String AGE = "age";
- public String getNAME() {
- return NAME;
- }
- public String getAGE() {
- return AGE;
- }
- }