java中可变对象与不可变对象

可变对象(mutable Objects),不可变对象(Immutable ojbects),那么他们有什么区别呢?

不可变对象意味着这个对象是final的,对象中所有的公共属性是final的。同时说明这个对象是线程安全的,这意味着他们可以在多线程中使用,而不需要使用synchronization。

可变对象和不可变对象相反,java中大部分都是可变对象。


不可变对象有哪些

String,Integer以及其他的封装类型都是不可变对象。。


怎样创建不可变对象

类是final的,并且中所有类属性都是final的。

[java]  view plain  copy
  1. public final class FinalTest {  
  2.     private final String NAME = "name";  
  3.     private final String AGE  = "age";  
  4.   
  5.     public String getNAME() {  
  6.         return NAME;  
  7.     }  
  8.   
  9.     public String getAGE() {  
  10.         return AGE;  
  11.     }  
  12. }  

猜你喜欢

转载自blog.csdn.net/u012273935/article/details/79744555