mi sono imbattuto in quanto segue:Sta usando un metodo statico vuoto in una classe che ha un inizializzatore statico accettabile/idiomatico?
class Foo {
static {
// setup for logging and configuration
}
public static void setup() {
// do nothing
}
}
È questo il codice Java idiomatica? Ci sono ragioni specifiche che dovrebbero essere evitate?
Questo è stato trovato in una suite di test.
La mia preoccupazione iniziale era che l'inizializzazione potrebbe teoricamente avvenire senza chiamare #setup().
Bene, per esempio, impedisce alle sottoclassi di 'Foo' di avere la propria implementazione di' setup() '... Sarebbe interessante vedere cosa dicono i guru. – mazaneicha
@mazaneicha Non c'è alcun problema con un 'Bar extends Foo {public static void setup() {...}}' – laune
@mazaneicha no it –