static方法会在Class被classloader加载的时候就执行,是一个类方法,构造方法则是当你new这个class的object的时候才会执行的。

解决方案 »

  1.   

    class的构造方法只有在new class的时候才执行。
    而static方法是静态的,也就是说不需要new class你也可以用
    如:Demo.a可以直接用。
      

  2.   

    构造函数就不说了static {}是这个class第一次被装载的时候执行的,而且只执行一次,class A {static void a()};class B {
      public static void main(String[] args) {
        A.a(); //--> static {}
        new A(); // -X-> static {}
      }
    }
      

  3.   

    那为什么 static{}后面可以不加方法名呢???