1. 程式人生 > >Java 類初始化順序

Java 類初始化順序

  1. 靜態屬性:static 開頭定義的屬性
  2. 靜態方法塊: static {} 圈起來的方法塊
  3. 普通屬性: 未帶static定義的屬性
  4. 普通方法塊: {} 圈起來的方法塊
  5. 建構函式: 類名相同的方法
  6. 方法: 普通方法

父類靜態變數 > 父類靜態初始塊 > 子類靜態變數 > 子類靜態初始塊 > 父類成員變數 > 父類非靜態初始塊 > 父類構造器 > 子類成員變數 > 子類非靜態初始塊 > 子類構造器 

  • 宣告的變數都是靜態變數並且是final的,所以子類無法修改,並且是固定值不會因為例項而變化
  • 介面中能有靜態方法,不能有普通方法,普通方法需要用defalut新增預設實現
  • 介面中的變數必須例項化
  • 介面中沒有靜態程式碼塊、普通變數、普通程式碼塊、建構函式