this關鍵字:
this 的本質就是“創建好的對象的地址!”由於在構造方法調用前,對象已經創建。因此,在構造方法中也可以使用this代表“當前對象”。
構造方法是創建Java對象的重要途徑,通過new關鍵字調用構造器時,構造器也確實返回該類的對象,但這個對象並不是完全由構造器負責創建。
創建一個對象分為如下四步:
1. 分配對象空間,並將對象成員變量初始化為0或空
2. 執行屬性值的顯式初始化()
3. 執行構造方法:構造器給進行初始化
4. 返回對象的地址及相關的變量
this最常的用法:
1. 在程序中產生二義性之處,應使用this來指明當前對象;普通方法中,this總是指向調用該方法的對象。構造方法中,this總是指向正要初始化的對象。
2. 使用this關鍵字調用重載的構造方法,避免相同的初始化代碼。但只能在構造方法中用,並且必須位於狗製造方法的第一句。
3. this不能用於static方法中。
static 關鍵字:
在類中,用static聲明的成員變量為靜態成員變量,也稱為類變量。類變量的生命週期和類相同,在整個應用程序執行期間都有效。他有如下特點:
1. 為該類的公用變量,屬於類,被該類的所用實例共享,在類被載入時被顯式初始化。
2. 對於該類的所有對象來說,static成員變量只有一份。被該類的所有成員共享!
3. 一般用“類名.類屬性/方法”來調用。(也可以通過對象引用或類名(不需要實例化)訪問靜態成員。)
4. 在static方法中不可直接訪問非static的成員。
靜態初始化塊:
構造方法用於對象的初始化!靜態初始化塊,用於類的初始化操作!在靜態初始化塊中不能直接訪問非static。
例如:
static String company;
static{
System.out.println(“執行類的初始化工作”);
company=”您好”;
printCompany();
}
static修飾的從屬於類。修飾變量叫做:“類變量/靜態變量”,修飾的方法叫做:“類方法/靜態方法”,修飾初始化塊叫做:“類初始化塊/靜態初始化塊”。
從整體上可將變量劃分為局部變量、成員變量和靜態變量: