"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > O momento e os motivos do uso de blocos de inicialização estática em Java

O momento e os motivos do uso de blocos de inicialização estática em Java

Postado em 2025-04-16
Navegar:964

When and Why Use Static Initialization Blocks in Java?

Entendendo os blocos de inicialização estática

em java, os blocos de inicialização estática fornecem um mecanismo especial para inicializar os campos estáticos dentro de uma classe. Os campos estáticos são inicializados apenas uma vez e compartilham o mesmo valor em todas as instâncias de uma classe. Embora seja possível atribuir valores a campos estáticos em suas declarações, existem certos cenários em que essa abordagem é impraticável. Por exemplo, imagine que você tem um campo que represente uma lista de conexões de banco de dados, inicializada com base nas configurações. Você não pode inicializar diretamente esse campo dentro de sua declaração porque a configuração ainda não está disponível. Esses blocos são executados durante o carregamento da classe e fornecem uma maneira conveniente de inicializar os campos estáticos com base no contexto atual. Eles são incluídos dentro do aparelho estático Curly:

Public Static Class Test { estático { // Inicializa os campos estáticos aqui } }

não-estático vs. blocos estáticos

diferentemente dos blocos de inicialização estática, blocos não estáticos (também conhecidos como blocos de inicialização de instância) são executados cada vez que uma instância da classe é criada. Eles são usados ​​para inicializar campos específicos da instância ou executar outras operações de configuração. estático { System.out.println ("Bloco estático executado uma vez"); } { System.out.println ("bloco não estático executado sempre que uma instância é criada"); } public static void main (string [] args) { Teste t1 = novo teste (); // bloco não estáático executado Teste t2 = novo teste (); // bloco não estáático executado novamente } }

public static class Test {
    static {
        // Initialize static fields here
    }
}

bloco estático executado uma vez Bloco não estático executado cada vez que uma instância é criada Bloco não estático executado toda vez que uma instância é criada como você pode observar, o bloco estático é executado apenas uma vez durante o carregamento da classe, enquanto o bloco não estático é executado toda vez que uma instância da classe é criada.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3