// Ordem de execução: (prioridade de alta a baixa.)
Código estático Bloco> Mian Model> Construa Bloco de Código> Método de Construção.
O bloco de código estático é executado apenas uma vez. O bloco de código construído é executado toda vez que o objeto for criado.
1. Blocos de código ordinários
public static void main (string [] args) {/ * bloco de código comum: * definido diretamente no método ou instrução "{declaração de execução de código comum}" aparece no método ou instrução, ele é chamado de bloco de código comum. *A ordem de execução dos blocos de código comum é determinada pela ordem em que eles aparecem no código - "Primeiro aparece primeiro" */{System.out.println ("Aqui está o código comum do código A");} // novo a (); {System.out.println ("aqui é o bloco de código comum b");}} Resultado da execução: aqui está o bloco de código normal a
Aqui está o bloco de código normal B
2. Blocos de código estático e blocos de código de construção
Blocos de código declarados usando palavra -chave estática em java.
É frequentemente usado para inicializar classes. Cada bloco de código estático será executado apenas uma vez (a classe é executada ao carregar na memória e a classe já existe depois que a classe é carregada na memória). Como a JVM executará blocos de código estático ao carregar a classe, o bloco de código estático será executado antes do método principal. Se a classe contiver vários blocos de código estático, ela será executada primeiro pelo "código definido primeiro e o código definido será executado posteriormente.
PS:
1 blocos de código estático não podem existir em nenhum corpo de método.
2 blocos de código estático não podem acessar diretamente variáveis de instância estática e métodos de instância e precisam ser acessados através do objeto de instância da classe.
Bloco de construção: um bloco de código que é definido diretamente na classe e não possui uma palavra -chave estática é chamado de bloco de código de construção {}.
O bloco de código do construtor é chamado ao criar um objeto e, cada vez que o objeto é criado, ele é chamado e a ordem de execução do bloco de código do construtor tem precedência sobre o construtor de classe.
public classe estrutura {{System.out.println ("Aqui está um bloco de código normal"); // Existe um construtor padrão em todas as classes. O bloco de código aqui é um bloco de código do construtor, que é executado quando o objeto na classe é criado} public static void main (string [] args) {/ * bloco de código comum: * definido diretamente no método ou declaração "{Execução Declaração do código ordinário}" aparece no método ou declaração, é chamado de código comum. *A ordem de execução dos blocos de código comum é determinada pela ordem em que eles aparecem no código - "Primeiro aparece primeiro" */{System.out.println ("Aqui está o bloco de código comum A");} nova estrutura (); // o bloco de código estático não é executado quando a segunda classe carrega // novo (); {Sistema.out.out.Int.Int. B ");}} static {System.out.println (" Aqui está o bloco de código estático ");}} Resultados da execução:
Aqui está o bloco de código estático // preferencial à função principal aqui é o bloco de código normal a
Aqui está um bloco de código normal // objeto na classe é executado quando é criado. Cada vez que é criado, a nova estrutura () é adicionada; O resultado da execução é:
Aqui está o bloco de código normal B
3. Resumo
public classe estrutura {{System.out.println ("Aqui está um bloco de código normal");} public static void main (string [] args) {{System.out.println ("Aqui está um bloco de código normal a");} // new Structure (); // nova estrutura (); um novo a (); {System.out.Int.Intlnnnnnnnnn; // nova () é um novo a (); {System.Int.Int.Intlnnnnnnnn; B ");}} estático {System.out.println (" Aqui está um bloco de código estático ");}} classe A {static {System.out.println (" Aqui está o bloco de código estático normal 1 em um bloco 1 em A ");} {System.out.print (" aqui está o código normal 1 em A "); A ");}} Resultados da execução:
Aqui está o bloco de código estático aqui está o bloco de código normal a
Aqui está o código estático normal Bloco 1 em um
Aqui está o bloco de código normal 1 em um
Aqui está o bloco de código normal 2 em um
Aqui está o bloco de código normal B
Resumo da prioridade: bloco de código estático> main ()> bloco de código de construção