这个问题来自我的Java test学习指南.有人能解释一下为什么会这样吗?
这段代码打印出5号而不是12号.你能解释一下原因吗?你能解释为什么如果第二个变量也是12,它会打印出来final,如果它们都不是,那么它会打印出来final吗?
public class Question26 {
public static void main(String[] args) {
System.out.println(Q26.q26.ans);
}
}
class Q26 {
public static Q26 q26 = new Q26();
public int ans;
private static final int var1 = 5;
private static int var2 = 7;
public Q26() {
ans = var1 + var2;
}
}
Run Code Online (Sandbox Code Playgroud)