1. 程式人生 > >java中可變物件與不可變物件

java中可變物件與不可變物件

可變物件(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;
    }
}