java中面向對象中的一些小知識點

一,匿名對象的使用

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語句之間互相調用混亂出錯。




發佈了40 篇原創文章 · 獲贊 6 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章