情景1:
class A{
static int foo=56789;
static{
foo=999;
}
public static void main(String[] args) {
System.out.println(foo);
}
}
输出:999
情景2:
class A{
static {
foo=999;
}
static int foo=56789;
public static void main(String[] args) {
System.out.println(foo);
}
}
输出:56789
在场景2中,它如何为foo变量(在静态块中)分配内存,因为没有提及数据类型(因为代码从顶部到底部运行)。
答案 0 :(得分:0)
静态块/变量按照它们放置在源代码中的顺序执行。即你用眼睛看到的顺序。
从上到下。