乙個類中包含如下幾類東西,他們前後是有順序關係的
靜態屬性:static 開頭定義的屬性
靜態方法塊: static {} 圈起來的方法塊
普通屬性: 未帶static定義的屬性
普通方法塊: {} 圈起來的方法塊
建構函式: 類名相同的方法
方法: 普通方法
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
普通類:
靜態變數
靜態**塊
普通變數
普通**塊
建構函式
繼承的子類:
父類靜態變數
父類靜態**塊
子類靜態變數
子類靜態**塊
父類普通變數
父類普通**塊
父類建構函式
子類普通變數
子類普通**塊
子類建構函式
抽象的實現子類: 介面 - 抽線類 - 實現類
介面靜態變數
抽象類靜態變數
抽象類靜態**塊
實現類靜態變數
實習類靜態**塊
抽象類普通變數
抽象類普通**塊
抽象類建構函式
實現類普通變數
實現類普通**塊
實現類建構函式
介面注意:
Java類初始化順序說明
乙個類中包含如下幾類東西,他們前後是有順序關係的 初始化順序 public class lifecycle 普通屬性 private string field getfield 普通方法塊 建構函式 public lifecycle public static string getstaticfie...
Java類初始化順序
類的初始化順序 首先執行父類靜態的內容,父類靜態的內容執行完畢後,接著去執行子類的靜態的內容,當子類的靜態內容執行完畢之後,再去看父類有沒有非靜態 塊,如果有就執行父類的非靜態 塊,父類的非靜態 塊執行完畢,接著執行父類的構造方法 父類的構造方法執行完畢之後,它接著去看子類有沒有非靜態 塊,如果有就...
java類初始化順序
我們大家都知道,對於靜態變數 靜態初始化塊 變數 初始化塊 構造器,它們的初始化順序依次是 靜態變數 靜態初始化塊 變數 初始化塊 構造器。我們也可以通過下面的測試 來驗證這一點 public class initialordertest 初始化塊 構造器 public initialorderte...