Java 继承类执行顺序

2022-03-13  本文已影响0人  我叫何家明

时不时就忘记 这个顺序,那就把代码敲出来 执行一下。

package com.huawei.test.base;

/**
 * @author 无极之岚
 * @description:
 * @date 2022/3/13 4:48 PM
 */
public class ParentAndSon {
    public static void main(String[] args) {
        Son son = new Son();
        son.new InnerClass();

    }
}


class Father {
    static {
        System.out.println("父类static");
    }

    {
        System.out.println("父类 代码块");
    }

    class InnerClass {
        InnerClass() {
            System.out.println("parent inner class");
        }
    }

    public Father() {
        System.out.println("father constructor");
    }
}

class Son extends Father {
    static {
        System.out.println("子类 static");
    }

    {
        System.out.println("子类 代码块");
    }

    class InnerClass {
        InnerClass() {
            System.out.println("son inner class");
        }
    }

    public Son() {
        System.out.println("son constructor");
    }
}

执行结果

父类static
子类 static
父类 代码块
father constructor
子类 代码块
son constructor
son inner class
上一篇下一篇

猜你喜欢

热点阅读