Эта проблема была взята из моего учебного пособия Java test
. Может ли кто-нибудь объяснить, почему так оно и есть?
Этот код печатает номер 5, а не 12. Не могли бы вы объяснить, почему? Не могли бы вы объяснить, почему он будет печатать 12, если вторая переменная была также final
, а 0, если ни одна из них не была 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;
}
}