不可變對象和類
如果一個類是不可變的,那麼他的所有數據域必須是私有的,而且沒有對任何一個數據域提供公共的set方法。
但反過來,卻不是一定成立!
實例:
使用getDateCreated()方法返回數據域dateCreated。它是對Dtae對象的一個引用。通過這個引用,可以改變dateCreated的值。(修改器在Date類裏)
所以要想一個類成爲不可變的,必須要:
①所有數據域必須是私有的
②沒有修改器(set方法)
③沒有一個返回指向可變數據域的引用的訪問器方法(get方法)。
變量的作用域
類的變量和方法都可以在類中以任意順序出現,但是當一個數據域是基於對另一個數據域的引用來進行初始化時則不是這樣。