registrador de Java: inicialización de bloque estático o inicialización en declaración de variable

14

Actualmente estoy usando el registrador en mi proyecto de la siguiente manera:

private static final Logger LOGGER;

static{
  LOGGER = logger.getLogger();
}

Obtuve una revisión de código para usar el bloque estático para inicializar la variable del registrador. Me dijeron que intialize la variable logger en la declaración en sí.

private static final Logger LOGGER = Logger.getLogger();

Estoy tratando de averiguar qué diferencia hará si no lo inicializo en el bloque estático. Quiero saber si esto es una práctica.

    
pregunta Innocuous 03.07.2017 - 14:15

1 respuesta

47

Excepto en algunos casos de esquina realmente extraños que involucran la secuencia de inicializadores, las dos alternativas funcionarán exactamente igual.

Sin embargo, la inicialización del derecho de instancia en la declaración es más breve y más familiar, y se debe preferir solo por ese motivo.

Los bloques de inicialización estática son una construcción un tanto exótica y solo deben usarse cuando realmente proporcionan un valor agregado, como cuando se necesitan manejar excepciones.

    
respondido por el Michael Borgwardt 03.07.2017 - 15:04

Lea otras preguntas en las etiquetas