父子类、静态代码块、代码块执行情况

class HelloA {
	public HelloA(){
		 System.out.println("HellA");
		}
		{System.out.println("I’m  A class");}
		static {System.out.println("static  A");}	
}
Public class HelloB extendsHelloA{
	public HelloB(){
		System.out.println("HellB");
	}	
	{System.out.println("I’m  B  class");}
	static {System.out.println("static  B");}
	publicstaticvoid main(String[] args) {
		new HelloB();	
		}
}

A)static A staticB I’mA class HellA I’m B class HellB

选A
先执行静态代码块(多个对象时也只执行一次),再执行代码块(执行次数与创建对象的个数相同),最后执行构造函数(执行次数与创建对象的个数相同)

父子类、静态代码块、代码块执行情况_第1张图片

你可能感兴趣的:(父子类、静态代码块、代码块执行情况)