public class Tmp {
public static Tmp t1 = new Tmp();
{
System.out.print("a");
}
static {
System.out.print("b");
}
public static void main(String[] args) {
Tmp t2 = new Tmp();
}
}
根据我以往的理解,应该是static代码块先执行,输出baa才对,结果实际上输出aba,网上查了查没什么结果。希望有好心人可以帮忙解释一下