Dans le code suivant DEFAULT_CACHE_SIZE est déclaré plus tard, mais il est utilisé pour assigner une valeur à la variable String avant que, donc était curieux comment est-ce possible?Comment cela est le code est compilé même si nous utilisons une constante qui est définie plus tard?
public class Test {
public String getName() {
return this.name;
}
public int getCacheSize() {
return this.cacheSize;
}
public synchronized void setCacheSize(int size) {
this.cacheSize = size;
System.out.println("Cache size now " + this.cacheSize);
}
private final String name = "Reginald";
private int cacheSize = DEFAULT_CACHE_SIZE;
private static final int DEFAULT_CACHE_SIZE = 200;
}
Vrai mais non pertinent. static final sont résolus au moment de la compilation - voir la réponse de codaddict. –