【发布时间】:2011-05-13 08:58:01
【问题描述】:
public class Main {
static final int alex=getc();
static final int alex1=Integer.parseInt("10");
static final int alex2=getc();
public static int getc(){
return alex1;
}
public static void main(String[] args) {
final Main m = new Main();
System.out.println(alex+" "+alex1 +" "+alex2);
}
}
谁能告诉我为什么会打印:0 10 10?我知道它是一个静态最终变量,它的值不应该改变,但理解编译器如何初始化字段有点困难。
【问题讨论】:
标签: java initialization field final