java中的静态变量初始化

时间:2014-04-11 20:53:29

标签: java class static

请考虑以下代码:

  public class TestClass 
    {
      int j=10;
      static int h=j;

      TestClass()
      {

          System.out.println(h);
      }

      public static void main(String[] args)
      {
          TestClass obj= new TestClass();       


      }

    }

为什么即使我已经将j声明为高于h,这也会产生错误。

1 个答案:

答案 0 :(得分:1)

错误是因为您正在将静态声明与实例变量声明混合(从错误消息中可以清楚地看出无法对非静态字段j进行静态引用)。将第一个初始化更改为

static int j = 10;

并且您的代码编译得很好。

相关问题