O que são blocos estáticos em Java

O Que Sao Blocos Estaticos Em Java



Ao programar em Java, pode haver a necessidade de escrever um conjunto de códigos que o programador precisa executar durante o carregamento da classe na memória. Por exemplo, enviar ao usuário alguma mensagem antes das funcionalidades aplicadas no main ou priorizar uma funcionalidade vital separando-a. Nesses casos, os blocos estáticos em Java auxiliam na simplificação e no gerenciamento das funcionalidades do desenvolvedor.

Este blog irá ilustrar o uso de blocos estáticos em Java.

O que são “Blocos Estáticos” em Java?

Um bloco é alocado como “ estático ” associando a palavra-chave static a ela. Esses blocos têm precedência maior do que “ principal ” de modo que sejam executados antes do “ principal() ” método.







Sintaxe



classMain {
estático {
Sistema . fora . println ( 'Olá Mundo' ) ;
} }

Na sintaxe acima, o bloco incluído é atribuído como “ estático ” e será invocado antes do main.



Considerações importantes sobre “blocos estáticos”

  • Blocos estáticos em Java são invocados automaticamente quando a classe é carregada na memória.
  • Eles são executados apenas uma vez, mesmo se vários objetos de classe forem criados.
  • Não há limitação/restrição no número de blocos de inicialização estáticos dentro de uma classe.
  • Esses blocos também podem ser utilizados para inicializar as variáveis ​​estáticas.

Exemplo 1: Utilização de “Blocos Estáticos” em Java

Neste exemplo, o bloco estático pode ser usado para observar a sequência na qual ele pode ser executado em relação ao principal:





publicclass Exemplo {
estático {
Sistema . fora . println ( 'Este é um bloco estático!' ) ;
}
publicstaticvoidmain ( Corda [ ] argumentos ) {
Sistema . fora . println ( 'Isso é principal!' ) ;
} }

No bloco de código acima, basta incluir um “ estático ” acumulando a mensagem declarada e na próxima etapa, exiba a mensagem dada em “ principal ”.

Saída



Nesta saída, pode-se analisar que o bloco estático é invocado antes do principal.

Exemplo 2: Executando valor estático dentro de “bloco estático” em Java

Nesta ilustração em particular, um valor estático pode ser inicializado no bloco estático e posteriormente exibido no principal:

classe personalizada {
staticint eu ;
estático {
eu = 10 ;
Sistema . fora . println ( 'Bloco estático chamado!' ) ;
} }
publicclass Exemplo {
publicstaticvoidmain ( Corda [ ] argumentos ) {
Sistema . fora . println ( personalizado. eu ) ;
} }

Nas linhas de código acima:

  • Primeiro de tudo, crie uma classe chamada “ personalizado ”.
  • Dentro da classe, especifique um “ estático ” variável e inicializá-lo no alocado “ estático ' bloquear.
  • Por fim, invoque a variável inicializada no main referindo-se à classe na qual ela está contida.

Saída

No resultado acima, pode-se perceber que, da mesma forma, o “ estático ” é executado primeiro e o valor inicializado neste bloco também é exibido, respectivamente.

Exemplo 3: Executando “Bloco Estático” Antes do Construtor

Neste exemplo, o bloco estático pode ser especificado antes do construtor, e sua precedência e execução podem ser observadas de acordo:

classe personalizada {
estático {
Sistema . fora . println ( 'Este é um bloco estático' ) ;
}
personalizado ( ) {
Sistema . fora . println ( 'Isto é um Construtor' ) ;
} }
publicclass Exemplo {
publicstaticvoidmain ( Corda [ ] argumentos ) {
obj1 personalizado = novo personalizado ( ) ;
obj2 personalizado = novo personalizado ( ) ;
} }

Nas linhas de código acima:

  • Da mesma forma, defina uma classe chamada “ personalizado ”.
  • Agora, especifique o “ estático ” e inclua o construtor de classe, ou seja, “ personalizado() ” tendo as mensagens indicadas, respectivamente.
  • No principal, crie dois objetos da classe criada para invocar as funcionalidades da classe na ordem de precedência correspondente.

Saída

Nesta saída, as seguintes considerações podem ser realizadas:

  • O bloco estático recebe maior precedência em comparação com o construtor contido.
  • Dois objetos da classe são criados, mas o bloco estático é executado uma vez, conforme discutido anteriormente.

Conclusão

O ' blocos estáticos ” em Java executam apenas uma vez quando uma classe é carregada na memória e são executados antes do “ principal() ” método. Os exemplos discutidos no artigo provam que esses blocos têm precedência maior que o main e o construtor de classe, respectivamente, e são invocados apenas uma vez, independentemente do número de objetos criados. Este blog discutiu o uso de blocos estáticos em Java.