Java中父类子类static静态方法和非静态方法以及构造方法的执行顺序

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zx2015216856/article/details/82556023

执行顺序:父类静态块-->子类静态块-->父类非静态块-->父类构造方法-->子类非静态块-->子类构造方法

     当父类或子类中有多个静态方法时按在代码中的顺序执行

public class Father {
	
	static {
		System.out.println("Father中的静态块:1");
	}
	
	static {
		System.out.println("Father中的静态块:2");
	}
	{
		System.out.println("Father中的非静态块");
	}
	public Father() {
		System.out.println("Father构造方法");
	}
	public static void main(String[] args) {
		Son son = new Son();
	}

}

class Son extends Father{
	static {
		System.out.println("Son中的静态块:1");
	}
	
	static {
		System.out.println("Son中的静态块:2");
	}
	{
		System.out.println("Son中的非静态块");
	}
	public Son() {
		System.out.println("Son构造方法");
	}
} 

执行结果: 

 

猜你喜欢

转载自blog.csdn.net/zx2015216856/article/details/82556023
今日推荐