1. 程式人生 > 其它 >如何用靜態程式碼塊,構造程式碼塊(普通程式碼塊),區域性程式碼塊,建構函式的執行順序呢?

如何用靜態程式碼塊,構造程式碼塊(普通程式碼塊),區域性程式碼塊,建構函式的執行順序呢?

先父類後子類

//父類
public class Parent {
    static{
        System.out.println("父類靜態程式碼塊");
    }

    public static void run(){
        System.out.println("父類靜態方法");
    }

    {
        System.out.println("父類構造程式碼塊");
    }

    public Parent(){
        System.out.println("父類建構函式");
    }

    public void say(){
        System.out.println("父類函式");
        {
            System.out.println("父類區域性程式碼塊");
        }
    }
}
//子類繼承父類
class Child extends Parent{
    static{
        System.out.println("子類靜態程式碼塊");
    }

    public static void run(){
        System.out.println("子類靜態方法");
    }

    {
        System.out.println("子類構造程式碼塊");
    }

    public Child(){
        System.out.println("子類建構函式");
    }

    public void say(){
        System.out.println("子類函式");
        {
            System.out.println("子類區域性程式碼塊");
        }
    }

    public static void main(String[] args) {
        System.out.println("main函式");
        Child child = new Child();
        child.say();
    }

}
父類靜態程式碼塊
子類靜態程式碼塊
main函式
父類構造程式碼塊
父類建構函式
子類構造程式碼塊
子類建構函式
子類函式
子類區域性程式碼塊

從上面程式碼可得:
父類靜態程式碼塊>main函式(處於父類)>子類靜態程式碼塊>main函式(處於子類)>父類構造程式碼塊>父類建構函式>子類構造程式碼塊>子類建構函式>子類區域性程式碼塊
程式碼的執行順序:
靜態程式碼塊 > main函式 > 構造程式碼塊 > 建構函式 > 普通方法 > 區域性程式碼塊



作者:MaShaoJun
連結:https://www.rrdynb.com/index.html

來源:簡書
著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。