直接贴代码
class A { static { System.out.println("父类静态代码区"); } { System.out.println("父类代码区"); } public A(){ System.out.println("父类构造方法"); } } class B extends A{ static { System.out.println("子类静态代码区"); } { System.out.println("子类代码区"); } public B(){ System.out.println("子类构造方法"); } } public class Test { static{ System.out.println("静态代码块---"); } public static void main(String args[]){ //new A(); new B(); new B(); } }
执行结果
静态代码块---
父类静态代码区
子类静态代码区
父类代码区
父类构造方法
子类代码区
子类构造方法
父类代码区
父类构造方法
子类代码区
子类构造方法
静态代码块>代码块>构造方法 静态代码块只执行一次。