Podemos executar qualquer código,mesmo antes do metendo main.?
Podemos executar qualquer código,mesmo antes do metendo main.?
A
7 Respostas
L
6 likes
O método main é o ponto de partida em uma aplicação java desktop. Algo que precise ser executado antes seria algum código dentro de um bloco estático:
public class Main {
static {
System.out.println("Eu serei executado antes do main");
}
public static void main(String[] args) {
System.out.println("Estou executando depois do bloco estático.");
}
}
E a saída será:
Eu serei executado antes do main
Estou executando depois do bloco estático.
F
A gente aprende, aprende, aprende e morre burro.
Não fazia ideia que era possível usar esse recurso.
D
Neste caso específico, justifica-se entendendo como o class loader (responsável por coletar as classes e dispô-las na memória da jvm). Ao carregar uma classe, todos os seus elementos estáticos são carregados (enums estão nessa leva).
F
Existe uma sequência de carregamento das classes? Por exemplo, se em todas as classes eu colocar esse bloco, existe ordem para o carregamento delas?
D
A
muito obrigado [lucas]
S
1 like
Sim, a ordem em que são referenciadas a partir da sua classe principal.
Criado 13 de fevereiro de 2020
Ultima resposta 25 de fev. de 2020
Respostas 7
Participantes 5
Alura POO: o que é programação orientada a objetos? Aprenda os conceitos básicos da programação orientada a objetos, como classes, objetos, herança, encapsulamento e polimorfismo, com exemplos.
Casa do Codigo Desbravando SOLID: Praticas avancadas para codigos de... Por Alexandre Aquiles — Casa do Codigo