DEV Community

FUNDAMENTOS JAVA
FUNDAMENTOS JAVA

Posted on

Blocos Estáticos

Definição:

  • Um bloco estático é um trecho de código que é executado quando a classe é carregada pela primeira vez pela JVM.
  • É utilizado para inicializar variáveis estáticas ou realizar tarefas que precisam ser concluídas antes que a classe possa ser utilizada.

Propósito:

  • Pode ser usado para executar inicializações importantes, como estabelecer conexões ou calcular valores iniciais.
  • Útil para preparar a classe antes que qualquer instância seja criada ou antes que métodos estáticos sejam chamados.

Execução:

  • O bloco estático é executado apenas uma vez, logo que a classe é carregada, antes de qualquer outro código relacionado à classe.
  • Ele é executado mesmo que nenhum objeto da classe seja criado.

Exemplo de Código com Bloco Estático:

StaticBlock.java

// Usa um bloco estático
class StaticBlock {
    static double rootOf2;
    static double rootOf3;

    // Bloco estático para inicialização
    static {
        System.out.println("Inside static block.");
        rootOf2 = Math.sqrt(2.0);
        rootOf3 = Math.sqrt(3.0);
    }

    StaticBlock(String msg) {
        System.out.println(msg);
    }
}

class SDemo3 {
    public static void main(String args[]) {
        StaticBlock ob = new StaticBlock("Inside Constructor");
        System.out.println("Square root of 2 is " + StaticBlock.rootOf2);
        System.out.println("Square root of 3 is " + StaticBlock.rootOf3);
    }
}

Enter fullscreen mode Exit fullscreen mode
  • A mensagem "Inside static block." mostra que o bloco estático foi executado antes da criação do objeto StaticBlock.
  • Os valores de rootOf2 e rootOf3 são calculados no bloco estático e estão disponíveis antes da execução de qualquer método ou construção de objeto.

Vantagem dos Blocos Estáticos:
Garantem que certas inicializações sejam feitas de maneira segura e no momento adequado, antes que a classe seja utilizada.

Uso Comum:

  • Iniciar variáveis estáticas complexas ou executar configuração inicial de recursos que a classe precisa.

Heroku

Simplify your DevOps and maximize your time.

Since 2007, Heroku has been the go-to platform for developers as it monitors uptime, performance, and infrastructure concerns, allowing you to focus on writing code.

Learn More

Top comments (0)

Qodo Takeover

Introducing Qodo Gen 1.0: Transform Your Workflow with Agentic AI

Rather than just generating snippets, our agents understand your entire project context, can make decisions, use tools, and carry out tasks autonomously.

Read full post

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay