继承中,static代码块,代码块,构造方法执行顺序问题

 

/**
 * 继承中,static代码块,代码块,构造方法执行顺序问题
 */

public class Test {
	@SuppressWarnings("unused")
	public static void main(String[] args) {
		
		Sun t = new Sun();
		
	}
}
class Father{
	{
		System.out.println("父类代码块!");
	}
	static {
		System.out.println("父类static代码块!");
	}
	public Father(){
		System.out.println("父类类构造方法!");
	}
}
class Sun extends Father{
	{
		System.out.println("子类代码块!");
	}
	static {
		System.out.println("子类static代码块!");
	}
	public Sun(){
		System.out.println("子类构造方法");
	}
}


运行结果:

父类static代码块!
子类static代码块!
父类代码块!
父类类构造方法!
子类代码块!
子类构造方法

static代码块:类信息加载时执行

普通代码块:调用在调用构造方法是执行

 

 

 

 

 

 

 
 
 

你可能感兴趣的:(Java,继承)