这段代码至少在 JDK1.5是没有错的,如果你的不是JDK1.5版本,又不幸编译时出错,那么很可能就是
{
    System.out.println(" {  } ");
}
这一段的问题
你改成
static {
    System.out.println(" {  } ");
}
应该就对了。这段代码是用来初始化类的 (注意是初始化类而不是对象)

解决方案 »

  1.   

    因为我现在已经没有用 JDK1.4.2了,所以无法考证
    不过以前写程序都是写的
    static {}
    从来没有写过不要 static 的 {}但是在 JDK1.5 下试了并没有问题
      

  2.   

    我的JDK是1.4.2的,直接写{System.out.println(" {  } ");}可以,可是去掉{   }就出错,我的问题是
    为什么一定要加{  }?
      

  3.   

    class中主要有:
    class{
     数据
     函数
     
     static{ } class
    }{
        System.out.println(" {  } ");
    }
    相当与静态段,去掉{}后是一句语句,所以会错
      

  4.   

    这是我刚才看到的一个帖子,是问输出结果的,结果我知道了,查看输出结果,我发现是把该语句当成static 方法来执行的,你认为呢?
      

  5.   

    to: kingfish(八百里秦川@龙城异客能详细说明一下吗?我刚学,谢谢!
      

  6.   

    class A{  int data; //数据  void f(){ //函数
         
      }  //静态段
      static {                             //此处static可以省略。就是你上面那种
          System.loadLibrary("test");
      }  //内部类
      class B{
         
      }  
    }class是一种类型,基本就是变量和函数定义。 不能出现其它语句
    你去掉{}后相当与
    class A{
      System.out.println("{ }");
    }
    显然不符合class定义。