java 类的代码块加载顺序

2016-07-12  本文已影响195人  黑女2008
public class Fu {
      
    static {  
        System.out.println("父类的静态代码块");
    }
    {                
        System.out.println("父类的代码块");
    }
    public Fu(){
        System.out.println("父类的构造方法");
    }  
}
public class Zi extends Fu{
    static {
        System.out.println("子类的静态代码块");
    }
    {
        System.out.println("子类的代码块");
    }
    public Zi(){
        System.out.println("子类的构造方法");
    }
}
public class Test {

    public static void main(String[] args) {
        Zi zi=new Zi();
        Zi zi1=new Zi();
    }

}

输出结果:

父类的静态代码块
子类的静态代码块
父类的代码块
父类的构造方法
子类的代码块
子类的构造方法
父类的代码块
父类的构造方法
子类的代码块
子类的构造方法

总结:父类静态代码块——子类静态代码块——父类代码块——父类构造——子类代码块——子类构造。
类的静态代码块只执行1次。

上一篇 下一篇

猜你喜欢

热点阅读