Java類初始化順序說明

2021-09-11 05:50:38 字數 844 閱讀 6419

乙個類中包含如下幾類東西,他們前後是有順序關係的

初始化順序

public

class

lifecycle

// 普通屬性

private string field =

getfield()

;// 普通方法塊

// 建構函式

public

lifecycle()

public

static string getstaticfield()

public

static string getfield()

// 主函式

public

static

void

main

(string[

] argc)

}

靜態屬性初始化

static field initial

靜態方法塊初始化

static patch initial

普通屬性初始化

field initial

普通方法塊初始化

field patch initial

建構函式初始化

structure initial

宣告的變數都是靜態變數並且是final的,所以子類無法修改,並且是固定值不會因為例項而變化

介面中能有靜態方法,不能有普通方法,普通方法需要用de****t新增預設實現

介面中的變數必須例項化

介面中沒有靜態**塊、普通變數、普通**塊、建構函式

Java類初始化順序說明

乙個類中包含如下幾類東西,他們前後是有順序關係的 靜態屬性 static 開頭定義的屬性 靜態方法塊 static 圈起來的方法塊 普通屬性 未帶static定義的屬性 普通方法塊 圈起來的方法塊 建構函式 類名相同的方法 方法 普通方法 public class lifecycle 普通屬性 pr...

Java類初始化順序

類的初始化順序 首先執行父類靜態的內容,父類靜態的內容執行完畢後,接著去執行子類的靜態的內容,當子類的靜態內容執行完畢之後,再去看父類有沒有非靜態 塊,如果有就執行父類的非靜態 塊,父類的非靜態 塊執行完畢,接著執行父類的構造方法 父類的構造方法執行完畢之後,它接著去看子類有沒有非靜態 塊,如果有就...

java類初始化順序

我們大家都知道,對於靜態變數 靜態初始化塊 變數 初始化塊 構造器,它們的初始化順序依次是 靜態變數 靜態初始化塊 變數 初始化塊 構造器。我們也可以通過下面的測試 來驗證這一點 public class initialordertest 初始化塊 構造器 public initialorderte...