java基礎知識總結(二)----java程式的初始化順序
阿新 • • 發佈:2018-12-09
Java初始化原則:① 靜態物件(變數)優先於非靜態物件(變數) ② 父類優先於子類 ③ 按照成員變數的定義順序進行初始化.
初始化的主要順序:父類靜態變數>父類靜態程式碼塊>子類靜態變數>子類靜態程式碼塊>父類非靜態變數>父類非靜態程式碼塊>
父類建構函式>子類非靜態變數>子類非靜態程式碼塊>子類建構函式
class Base { static{ System.out.println("Base static block"); } { System.out.println(" Base block"); } public Base(){ System.out.println("Base constructor"); } } public class Derived extends Base{ static{ System.out.println("Derived static block"); } { System.out.println("Derived block"); } public Derived(){ System.out.println("Derived constructor"); } } public static void main(String args[]){ new Derived(); }
其執行結果為:Base static block
Derived static block
Base block
Base constructor
Derived block
Derived constructor