單個類載入時,會按照靜態**塊,**塊,建構函式的順序進行載入。例如:
public
class main }
public
class shape
public
shape()
}
執行結果如下:
shape靜態初始化塊已執行!
shape初始化塊已執行!
shape建構函式已執行!
當子類circle繼承父類shape,載入子類時,會依次載入父類的靜態**塊,子類的靜態**塊,父類的**塊,父類的建構函式,子類的**塊,子類的建構函式。
public
class
main
}public
class
shape
static
public
shape()
}public
class
circle
extends
shape
public
circle(double radius)
}
執行結果如下:
shape靜態初始化塊已執行!
circle靜態初始化塊已執行!
shape初始化塊已執行!
shape建構函式已執行!
circle初始化塊已執行!
circle建構函式已執行!
java類載入順序
1 父類靜態成員和靜態初始化塊,按在 中出現的順序依次執行。2 子類靜態成員和靜態初始化塊,按在 中出現的順序依次執行。3 父類例項成員和例項初始化塊,按在 中出現的順序依次執行。4 執行父類構造方法。5 子類例項成員和例項初始化塊,按在 中出現的順序依次執行。6 執行子類構造方法。下面提供了有關靜...
java類載入順序
package com.demo description 類載入順序 author fujianyong 2015 2 6上午11 21 37 public class classloadersequence public static void test1 public void test2 pu...
Java 類載入順序
父類 靜態成員變數 父類 static 塊 子類 靜態成員變數 本類 static 塊 父類 構造塊 父類 預設構造方法 子類 構造塊 子類 有參 構造方法。package com.example.demo.basic author grace.pan date 2019 6 17 public c...