-3

方案 1:

class A{
  static int foo=56789;
  static{
   foo=999;
  }
  public static void main(String[] args) { 
   System.out.println(foo);
  }
}

输出:999

场景二:

class A{
  static {
   foo=999;
 }
 static int foo=56789;
 public static void main(String[] args) { 
   System.out.println(foo);
  }
}

输出:56789

在场景 2 中,它如何为 foo 变量(在静态块中)分配内存,因为没有提到任何数据类型(因为代码从上到下运行)。

4

1 回答 1

0

静态块/变量按照它们在源代码中的顺序执行。即您用眼睛看到的顺序。

从上到下。

于 2014-09-01T13:55:45.557 回答