1、從構造器開始
- 構造器總是伴隨着 new 操作符的執行被調用,而不能對一個已經存在的對象調用構造器來重新設置實例域的目的。
- 不要在構造器中定義與實例域重名的局部變量,不然會屏蔽了同名的實例域。
2、隱式參數和顯式參數
- 隱式參數是出現在方法名前的類對象,顯式參數位於方法名後面的括號中。
- 使用 this 可以區分開隱式參數的類對象的實例域和局部變量區分開來:
public void raiseSalary(double byPercent) {
double raise = this.salary * byPercent / 100;
this.salary += raise;
}//關鍵詞 this 表示隱式參數,這種風格可以將實例域變量和局部變量明顯區分開來
3、封裝的優點
1、一個私有的數據域
2、一個公有的域訪問器方法
3、一個公有的域更改器方法
- 注意:不要編寫返回引用可變對象的訪問器方法,這破壞了封裝性。
4、基於類的訪問權限
一個方法可以訪問所屬類的所有對象的私有對象
5、final 實例域
final 修飾符大都應用於基本(primitive)類型域,或不可變(immutable)類的域(如果類中的沒有方法都不會改變其對象,這種類就是不可變得類)