In Java, viene insegnato che le variabili devono essere mantenute private per consentire un migliore incapsulamento, ma per quanto riguarda le costanti statiche? Questo:"public static final" o "private static final" con getter?
public static final int FOO = 5;
sarebbe equivalente in seguito a questo:
private static final int FOO = 5;
...
public static getFoo() { return FOO; }
Ma che è meglio la pratica?
Voto per chiudere su non costruttivo (sulla base del feedback pareri già offerto). 'FOO' è davvero una costante? La classe fornisce la parte 'FOO' di un'API? O parte di un'applicazione endpoint? Ci sono costanti matematiche che non cambiano mai. Ci sono anche flag di bit che non dovrebbero mai cambiare (vedi SWT). Quindi la risposta è "Dipende." –