class Person{
  {
  int a = 8;
    if ( a > 7){
  System.out.println("a大于 7");
  }
  System.out.println("a小于7");
        }
     {
     System.out.println("a的初始化块");
     }
 }
 
 
 
 public class PersonTest{
 
  public static void main(String[] args) {
  Person p1 = new Person();
  }
 }
 后面为什么还会“输出a小于7”呢?if语句后面不是隐藏else语句嘛(还是我理解错啦)?虽然初始化块一定要执行。求指导呀,大侠们。