java的類應包括構造器、數據域、方法java
而java類的封裝特性所達到的目的大概有如下幾點程序員
1:方便使用者,用戶只須要關注類的方法的效果、須要傳入的數據和返回值便可,並不須要深刻了解方法是怎樣實現的安全
2:安全性,封裝好的方法,修改數據域的方法是固定的,若是不調用特定的個方法是沒法影響類自身的數據域的值,這樣就是說調用同一個方法傳入相同的參數,返回值是同樣的設計
3:便於查錯和修改內存
爲了達到以上的目的,java程序員在設計類時,應該採用一下的構造變量
1:私有的數據域引用
2:公有的域訪問器方法程序
【同時注意訪問器方法不可返回引用,若是要返回引用,應該先clone方法
爲何不能直接返回引用要先clone呢?數據
這是由於引用是指向內存中的一個實例地址的,若是直接返回引用,那麼對接受到引用的變量進行修改,就等同於直接修改類內部的私有變量,而咱們設計類的域訪問器方法的目的就是經過該方法調用者能夠知道私有的數據域的值,可是不能直接修改類本身的值,若是要修改其值應該調用域更改器方法。
】
3:公有的域更改器方法
專門調用來改變類自身的私有的數據域,若是出現錯誤時,最有可能的是域更改器出現的問題,便於修改。
【方法能夠訪問所屬類的私有特性,而不只限於訪問隱式參數的私有特性】