静态代码块、构造代码块与构造函数的调用顺序

来源:互联网 发布:python 量化投资书籍 编辑:程序博客网 时间:2024/06/05 22:37

调用顺序

静态代码块在new之前就会调用,事实上是在java虚拟机加载类的时候就调用;
其次调用构造代码块,如果有多个代码块,都按照编写顺序先后调用;
最后调用构造函数。


//输出结果:static块只会调用一次,如果没有new A,也是会调用static块的/*b statica staticb consblock1b consblock2b consa consblock1a consblock2a cons第二次newb consblock1b consblock2b consa consblock1a consblock2a cons*/public class A extends B{    static{        System.out.println("a static");    }    {        System.out.println("a consblock1");    }    {        System.out.println("a consblock2");    }    A(){        System.out.println("a cons");    }    public static void main(String[] args){        new A();        System.out.println("第二次new");        new A();    }}class B{    static{        System.out.println("b static");    }    {        System.out.println("b consblock1");    }    B(){        System.out.println("b cons");    }    {        System.out.println("b consblock2");    }}

阅读全文
0 0
原创粉丝点击