1. 程式人生 > >關於類加載順序

關於類加載順序

highlight void return 代碼塊 pri class hello extends image

父類:

package org.com.extendTest;

public abstract class PerantClass {

    static int a = init();

    public static int init() {
        System.out.println("我是父類(靜態變量)");
        return 1;
    }

    static {
        System.out.println("我是父類(靜態代碼塊)!");
    }

    public PerantClass() {
        System.out.println("我是父類(構造器)");
    }

    {
        System.out.println("我是父類(普通代碼塊)!");
    }

    public void sayHello() {
        System.out.println("我是父類(成員方法)");
    }

}

子類:

package org.com.extendTest;

public class ChildClass extends PerantClass {

    static {
        System.out.println("我是子類(靜態代碼塊)!");
    }

    static int a = init();

    public ChildClass() {
        System.out.println("我是子類(構造器)");
        System.out.println("--------------------");
    }

    {
        System.out.println(
"我是子類(普通代碼塊)!"); } public void sayHello() { System.out.println("我是子類(成員方法)"); } public static void main(String[] args) { ChildClass class1 = new ChildClass(); class1.sayHello(); } public static int init() { System.out.println("我是子類(靜態變量)"); System.out.println(
"--------------------"); return 1; } }

結果:

  技術分享圖片

結論:1.先父類後子類

   2.static順序為代碼順序

   3.static > 普通代碼塊 > 構造器 > 成員方法

關於類加載順序