一,匿名對象的使用
1.匿名對象調用屬性值無效
例如:new Car().color = "blue";//因爲這條語句一旦執行完,內存單元就被釋放了,修改無效
2.當對對象的方法只調用一次是,可以使匿名對象完成,這樣寫比較簡化。
例如:new Car().run();//只需要調用一次run方法
3.匿名對象可以直接作爲實際參數傳遞。
例如:show(new Car());
二,構造代碼塊的使用
例如:
class Person {
private String name;
private int age;
// 構造代碼塊
{
//
}
}
作用:
1.給對象進行初始話,對象一建立就執行,優先於構造函數。
2.構造代碼塊是給所有對象統一初始化,而構造函數是給對應的對象初始化。
3.不同對象的共性定義在構造代碼塊中。
注意:靜態代碼塊,隨着類的加載而執行,只執行一次。
三,this語句的使用
例如:
class Person {
private String name;
private int age;
Person() {
}
Person(String name) {
this();
this.name = name;
}
Person(String name, int age) {
this(name);
// this.name = name;
this.age = age;
}
}
需要注意的是:
1.this語句只能定義在構造函數第一行,因爲初始化要先執行。
2.避免出現死循環,即:this語句之間互相調用混亂出錯。