静态代码块,构造代码块和构造方法的执行

静态代码块在类 static{}

构造代码块 {}  在创建对象时被调用,每次创建对象都会调用一次,但是优先于构造函数执行

子类构造函数执行,付调用super(),会优先执行父类的构造代码块,构造方法。

class HelloA {
    public HelloA(){
        System.out.println("helloA");
    }
    {
        System.out.println("i'm a class");
    }
    static {
        System.out.println("static A");
    }

}

public class HelloB extends HelloA{
    public HelloB(){
        System.out.println("helloB");
    }
    {
        System.out.println("i'm B class");
    }
    static {
        System.out.println("static B");
    }

    public static void main(String[] args){
        System.out.println("hello world");
        new HelloB();
    }


 }

 

https://www.cnblogs.com/ysocean/p/8194428.html

 

你可能感兴趣的:(Java)