修飾符之static

2021-09-26 12:10:55 字數 952 閱讀 1439

靜態屬性可以用類名直接訪問,在類載入時就會被初始化到方法區。(成員變數在建立物件時初始化)

1.靜態方法可以用類名直接呼叫。

2.靜態方法中只能訪問類的靜態成員(包括屬性和方法)。

3.靜態方法中不可以出現this(this是指當前物件,而靜態方法裡時沒有當前物件的)。

注意

1.引用調靜態方法,實際是對引用型別調靜態方法。

2.靜態方法只能被子類的靜態方法覆蓋,而且沒有多型。

3.總上所述static修飾的屬性和方法都是和類相關的和物件沒關係。

動態初始**塊

在建立物件初始化屬性的時候執行。

class

myclass

public

myclass()

}

靜態初始**塊

在類載入的時候執行。

類載入

jvm首次使用某個類時,需要通過classpath查詢該類的.class檔案。

載入時機:

​ 建立物件

​ 建立子類物件

​ 訪問靜態屬性

​ 呼叫靜態方法

​ class.forname(「全限定名」);

注意:如果只是宣告乙個類的引用,不需要類載入。

類載入的步驟

1.如果需要,先載入父類

2.按順序初始化靜態屬性,或執行靜態初始**塊。

class

myclass

public

myclass()

}

static靜態修飾符

靜態成員歸整個類所有,不依賴類特定的例項,是被類的所有例項共享。只要這個類被jvm載入,就可以根據類名在全域性資料區域內找到它們。因此,靜態成員可以在任何物件建立之前訪問而無需訪問物件。static關鍵字修飾的成員變數稱為靜態成員變數,簡稱靜態變數。靜態變數是屬於類,但是不依賴類特定的例項。靜態變數...

C 之static靜態修飾符詳解

所以靜態成員資料也稱為類資料,靜態成員函式也稱為類方法。靜態成員資料在類裡只是乙個說明,還需要乙個定義 或叫初始化 靜態成員資料要在類定義之外被初始化 要用類名限定修飾 而且程式裡只能提供一次,所以初始化不能放在標頭檔案裡。例1 class test error int test k is a st...

static修飾符的使用

static修飾符能修飾內部類,方法,變數,塊。靜態 成員意味著該成員屬於類級,而不依賴於類的例項,也不依賴於任何乙個類的成員,可以不通過建立類的例項來使用靜態成員。靜態變數在類被加載入時初始化,乙個類只有乙個靜態變數的記憶體空間,而不會依賴於物件再次分配空間。區域性變數不能被宣告為靜態變數。靜態方...