static{
  ...
}是表示这个 class 首次加载时要执行的代码。
如果没有static{}的话它就不知道是什么意思了。

解决方案 »

  1.   

    这个就类似于c语言的main了,如果没有main c语言也不知道是什么意思了
      

  2.   

    java程序运行的时候首先加载或执行static 修饰的变量或方法。
    然后从 static void main(String[] args)这个方法开始执行,
    public class Test{
    System.out.println("test");//不在任何方法中,也不是变量,也没有用static修饰,这样的情况在java中是不合法的,所以编译的时候会出错! public static void main(String[] args){
    System.out.println("enter main()");
    }
    }
      

  3.   

    学C的时候老师就说啦,main是程序的入口,要是你把东西放到程序的入口外面,程序怎么能够执行呢?
      

  4.   

    当然可以,因为static是静态加载的,
    public class Hello
    {
    static
    {
    System.out.println("Hello,World");
    System.exit(0);
    }}
    你运行这个看看!