Java核心代码(二)构造+语句执行顺序

Parent的构造出设置断点即可

Parent...static-statement-block

Child....static-statement-block

Parent..........statement-block

Parent..............constructor     //Child.<init>() line: 6--> Child(Parent).<init>() line: 5

Parent..........statement-block  

Parent..............constructor    //Child.<init>() line: 5--> Child(Parent).<init>() line: 5

Child...........statement-block

Child...............constructor      //Child.<init>() line: 7

package com.wnj;

public class Child
    extends Parent {
    private Parent p = new Parent();
    public Child() {
        System.out.println( "Child...............constructor" );
    }

    {
        System.out.println( "Child...........statement-block" );
    }
    static {
        System.out.println( "Child....static-statement-block" );
    }

    public static void main( String[] args ) {
        Child c = null;
        c = new Child();
    }
}
package com.wnj;

public class Parent {
    public Parent() {
        System.out.println( "Parent..............constructor" );
    }

    {
        System.out.println( "Parent..........statement-block" );
    }
    static {
        System.out.println( "Parent...static-statement-block" );
    }
}
扫描二维码关注公众号,回复: 606501 查看本文章

猜你喜欢

转载自luckywnj.iteye.com/blog/1914919