对象初始化奇怪现象

直接看到代码,说答案, 执行Main后输出两行,这两行是否一样?

class A {
	{
		System.out.println(this.getClass().getName());
	}
}

class B extends A {
	{
		System.out.println(this.getClass().getName());
	}
}
public class Main {
	public static void main(String[] args) {
		new B();
	}
}


没有执行之前,我想当然的认为是不一样的,但是执行之后,令我吃惊的,居然是一样的。

估计 在父类中的this是子类的this,初始化时传递上去的。

知道的能否解释一下。

你可能感兴趣的:(初始化)