Java logger: Inicialização de bloco estático ou inicializar na declaração de variável

14

Atualmente, estou usando o registrador no meu projeto da seguinte maneira:

private static final Logger LOGGER;

static{
  LOGGER = logger.getLogger();
}

Eu tenho uma revisão de código para usar o bloco estático para inicializar a variável do registrador. Disseram-me para inicializar a variável do registrador na própria declaração de declaração.

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

Estou tentando descobrir qual será a diferença se eu não inicializá-lo no bloco estático. Eu quero saber se isso é uma prática.

    
por Innocuous 03.07.2017 / 14:15
fonte

1 resposta

47

Exceto por alguns casos muito esquisitos envolvendo a sequência de inicializadores, as duas alternativas funcionarão exatamente da mesma maneira.

No entanto, a inicialização da instância na declaração é mais curta e mais familiar e deve ser preferida apenas por esse motivo.

Os blocos de inicialização estática são uma construção um pouco exótica e só devem ser usados quando eles realmente fornecerem valor agregado, como quando você precisa lidar com exceções.

    
por 03.07.2017 / 15:04
fonte

Tags