继承关系下构造方法执行顺序

public class Father {
    
    
	static {
    
    
		System.out.println("父类静态代码块");
	}
	{
    
    
		System.out.println("父类代码块");
	}
	public Father () {
    
    
		System.out.println("父类构造方法");
	}
	
	public static void main(String[] args) {
    
    
		new Son();
	}
}

class Son extends Father {
    
    

	static {
    
    
		System.out.println("子类静态代码块");
	}
	
	{
    
    
		System.out.println("子类代码块");
	}
	
	public Son () {
    
    
		System.out.println("子类构造方法");
	}
	

}

顺序如下:

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

猜你喜欢

转载自blog.csdn.net/qq_36986015/article/details/113615999