{
    System.out.println("student 2 method");
}
{
    System.out.println("student 3 method");
}
你的这些语句是初始化块,当然比构造函数的优先级别高了!同样还有static这种静态初始化块!你可以看看thingking in java中的初始化与清除那一章!

解决方案 »

  1.   

    我靠,看大家答案之前我会认为这段代码是错的,直接放几个程序段在class中,好像一个动物体内长了瘤子,不太符合java的oop思想嘛。没看过“thingking in java”有时间看看
      

  2.   

    llhdf(塞外浪子) 的观点,我可以证明是错的,
    什么"内隐类",就算是明确写出个static内部类inner class,也不会在外部类的构造函数前执行,而不是什么"由里至外",,,,,我试过的。呵呵,有问题大家一起探讨。
      

  3.   

    我又看了一遍thinging in java的第六章的初始化与类的装载,要是使用static那你们说得肯定对!但是我写的程序,是没有static的。 不知道是不是main是静态类的原因?请大家说清楚一下。