我的代码如下:
public class BorderLayoutDemo{
public static void main(String args[]){
A a;
a=new A();
}
}
class A{
{
B b;
b=new B();
}
{
System.out.println("bbbbbbbbbbb");
}
}
class B{
B(){
System.out.println("aaaaaaaa");
}
}
类A当中有两个没有名字的方法,我只要实例化A类这个对象就会调用它们。请问它们是什么方法?
这两个方法有什么意义?本人百思不得其解,请大家教我。

解决方案 »

  1.   

    它是类的静态方法,你只要加载类A就会执行它(不需要new A(),只要A.class就可以)
      

  2.   

    Class A 里面的应该不是类的静态方法,也不是两个方法.它应该是初始化块.
    初始化块有静态和非静态之分,上面的是非静态初始化块.
    一 个类可以有许多初始化块,它可以出现在类中任何地方。系统保证初始化块以及static初始化程序是按它们在源代码中的顺序被调用的。
    所以楼主不必担心调用哪个.因为它们都会被创建类对象的时候初始化的!
      

  3.   

    感谢feng412708(枫) 和RainRainbow() 的回答。谢谢你们给我答复。
      

  4.   

    感谢feng412708(枫) 和RainRainbow() 的回答。谢谢你们给我答复。