Ola galera, hoje um amigo meu veio com uma duvida, ele me perguntou para que servia os blocos de inicialização, eu na verdade nem sabia que era esse o nome daqueles blocos que usamos nas classes, pelo pouco que sei, sei que um bloco static é executado assim que o classe é carregada e um não static é executado antes do construtor não é mesmo, mas para que realmente server esses blocos?
public class Blocos
{
static
{
System.out.println("O bloco static");
}
{
System.out.println("Bloco não static");
}
public Blocos()
{
System.out.println("Contrutor");
}
public static void main(String args[])
{
System.out.println("Método main");
Blocos bloco = new Blocos();
}
}
A saida do programa é:
O bloco static
Método main
Bloco não static
Contrutor