我可以在主块中有一个静态块我试过并得到一个错误

时间:2014-07-08 20:11:26

标签: java

在netbeans中我收到错误:

Exception in thread "main" java.lang.RuntimeException: Uncompilable source code -    illegal start of expression
    at javaapplication3.NewClass4.main(NewClass4.java:20)

我的代码:

public class NewClass4
{
   public static void main(String a[])
   {
      System.out.println("hello");
      static
      {
          System.out.println("u");
      }
    }
  }

2 个答案:

答案 0 :(得分:2)

加载类时执行静态块。主要用于初始化静态变量。你可以在类体内的任何地方使用静态块。但不是在方法中

例如,对于单例类,您可以使用它来初始化实例

public class SingletonClass {

   private static SingletonClass instance;

   static {
      instance = new SingletonClass();
   }
}

答案 1 :(得分:0)

将其移出主方法:

    public class NewClass4
      {
          static
          {
              System.out.println("u");
          }

       public static void main(String a[])
       {
          System.out.println("hello");

        }
      }