Como realizar a inicialização estática e de instância em java

Como realizar a inicialização estática e de instância em java

Na programação Java, pode haver um requisito para o programador priorizar certas funcionalidades de modo que elas entrem em vigor antes da implementação real. Por exemplo, registrar um aviso ou aviso antes de ir para o código real. Em tais casos, "estático" e "instância”A inicialização em Java auxilia o desenvolvedor na classificação dos recursos implementados.

Este artigo demonstrará como executar o “estático" e "instância”Inicialização em Java.

Como realizar a “inicialização estática” em Java?

O "estático”A inicialização é feita enquanto a classe está carregando e funciona apenas com variáveis ​​estáticas. Além disso, não pode passar a referência via “esse”E funciona apenas uma vez durante toda a execução do código quando a classe é carregada na memória.

Observação: Os blocos estáticos e de inicialização são executados antes do construtor de classe.

Exemplo 1: Inicialização estática em Java

Neste exemplo, a inicialização estática pode ser realizada:

classe init
estático int x;
estático
Sistema.fora.println ("Este é um bloco de inicialização estática!");
x = 5;

Iniciar()
Sistema.fora.println ("Este é o construtor de classe!");

classe pública staticinit
public static void main (string args [])
Init obj = new init ();
Sistema.fora.println (init.x);

Nas linhas de código acima, aplique as seguintes etapas:

  • Primeiro de tudo, defina uma classe chamada “Iniciar”.
  • Em sua definição, especifique a variável estática e defina -a no “estático”Bloco junto com a mensagem declarada.
  • Na próxima etapa, inclua o construtor de classe e registre a mensagem fornecida, pois sua definição.
  • No "principal”Método, crie um objeto da classe através do“novo"Palavra -chave e a"Iniciar()”Construtor, respectivamente, e consulte o número inteiro inicializado dentro da classe.
  • Como resultado, o bloco estático é executado antes do construtor de classe, e o número inteiro é finalmente de acordo com a sequência invocada (em principal).

Saída

Nesta saída, pode -se analisar que a inicialização estática é aplicada na variável estática e o bloco estático é executado antes do construtor.

Como executar a “inicialização da instância” em Java?

O "instância”A inicialização, por outro lado, utiliza as variáveis ​​estáticas ou não estáticas (instância) e pode utilizar“esse”Para passar a referência. Além disso, ele pode executar várias vezes de acordo com a chamada para o construtor.

Exemplo 2: Inicialização da instância em Java

Neste exemplo em particular, a inicialização da instância pode ser aplicada:

classe init2
int x;

Sistema.fora.println ("Este é o bloco de inicialização da instância!");
x = 5;

Init2 (int x)
Sistema.fora.println ("Este é o construtor de classe!");
esse.x = x;
classe pública initinst
public static void main (string args [])
Init2 object1 = novo init2 (8);
Sistema.fora.println (objeto1.x);
Init2 object2 = novo init2 (10) ;;
Sistema.fora.println (objeto2.x);

Neste bloco de código, execute as etapas abaixo fornecidas:

  • Da mesma forma, declare a classe chamada “Init2”E especifique uma variável não estática definida após a mensagem.
  • Na próxima etapa, inclua um construtor parametrizado acumulando o número inteiro idêntico ao inicializado, como seu parâmetro.
  • Em sua definição, imprima a mensagem fornecida e consulte o número inteiro inicializado via “esse”E alocá -lo para o argumento inteiro passado.
  • No "principal”, Crie um objeto da classe e passe os números inteiros especificados duas vezes como os argumentos do construtor, pois a inicialização da instância pode ser feita várias vezes.

Saída

Nesse resultado, pode estar implícito que a inicialização da instância é feita adequadamente.

Conclusão

O "estático”A inicialização funciona apenas com variáveis ​​estáticas e não usa“esse" Considerando que a "instância”A inicialização utiliza as variáveis ​​estáticas ou não estáticas e usa“esse”. Ambos os blocos de inicialização são invocados antes do construtor de classe. Este artigo discutiu as abordagens para aplicar a inicialização estática e de instância em Java.