構造方法 物件的建立過程 this和static

2021-09-22 12:19:19 字數 1169 閱讀 6992

一、構造方法/構造器的要點:

1.通過new關鍵字呼叫

2.構造器雖然有返回值,但是不能定義返回值型別(返回值型別肯定是本類),不能再構造器裡使用return返回某個值

3.如果我們沒有定義構造器,則編譯器會自動定義乙個無參的構造方法。如果已定義則編譯器不會自動新增

4.構造方法的方法名必須與類名一致

5.構造方法可以過載

二、物件的建立過程三、this的本質就是「建立好的物件的位址」,由於在構造方法呼叫前,物件已經建立。因此,在構造方法中也可以使用this代表「當前物件」。

四、this的用法

1.程式中產生二義性處,使用this來指明當前物件。普通方法中,this總是指向呼叫該方法的物件。構造方法中,this總是指向正要初始化的物件。

2.使用this關鍵字呼叫過載的構造方法,避免相同的初始化**。但只能在構造方法中用,並且必須位於構造方法的第一句。

3.this不能用於static方法中,因為static方法在方法區,不是物件所在的這一特定記憶體中

五、用static宣告的成員變數為靜態成員變數

它為該類的公用變數,屬於類,被該類的所有例項共享,在類被載入時被顯式初始化,

• 對於該類的所有物件來說,static成員變數只有乙份。被該類的所有物件共享!

• 可以使用「物件.類屬性」來呼叫。 不過,一般都是用「類名.類屬性」

• static變數置於方法區中!

• 用static宣告的方法為靜態方法

• 不需要物件,就可以呼叫(類名.方法名)

• 在呼叫該方法時,不會將物件的引用傳遞給它,所以在static方法中不可訪問非static的成員。

• 靜態方法不能以任何方式引用this和super關鍵字

六、靜態初始化塊

如果希望載入後, 對整個類進行某些初始化操作, 可以使用static初始化塊。

• 類第一次被載入時先執行static**塊; 類多次載入時, static**塊只執行一次; static

經常用來進行static變數的初始化。

• 是在類初始化時執行, 不是在建立物件時執行。

• 靜態初始化塊中不能訪問非static成員。

JAVA 構造方法和物件的建立

一 構造方法和物件的建立 package chapter4.constructor public class testconstructor 和基本資料型別不同,在用類宣告物件後,還必須建立物件。即為宣告的物件分配所擁有的變數 確定物件所具有的屬性 類是建立物件的模板,沒有類就沒有物件。一 構造方法...

建構函式方法建立Mat物件

mat是乙個非常優秀的影象類,它同時也是乙個通用的矩陣類,可以用來建立和操作多維矩陣。mat類提供了一系列建構函式,可以方便的根據需要建立mat物件。常用的建構函式有 1 mat mat 無引數構造方法 2 mat mat int rows,int cols,int type 建立行數為 rows,...

物件的建立過程

jvm查詢類的路徑,定位到.class檔案 載入.class檔案,有關靜態初始化的所有動作都會被執行 靜態初始化只在物件首次載入的時候進行一次 當用new建立物件的時候,在堆上為物件分配足夠的空間 儲存空間將會被初始化,自動為物件的所有基本資料型別設定成預設值,引用被置為null 執行所有出現於字段...