Bom dia a Todos.
Estou com uma duvida de um livro que estou lendo, tem um exercícios que é o abaixo que era apenas para arrumar e rodar ele, tudo bem arrumei ele e rodei, mas quero saber o que significa o “static {}”, tudo bem entendi que ele é imprido antes de instanciar o objeto.
Mas que quero sabe o que ele é, de onde ele veio, como eles agem? (saiba tudo isso no globo reporter, brincadeira)
ele é um método? alguém tem algum artigo sobre ele para eu conseguir enteder melhor? porque não consegui entender como ele funciona. apenas quando rodei o programa percebi que ele e a classe que extends são imprimidos antes do objeto ser criado.
valeu a ajuda ae galera.
public class StaticSuper {
static {
System.out.println("super static block");
}
StaticSuper(){
System.out.println("Super construct");
}
}
public class StaticTestDrive extends StaticSuper{
static int rand;
static {
rand = (int) (Math.random() * 6);
System.out.println("static block " + rand);
}
StaticTestDrive(){
System.out.println("constructor");
}
public static void main(String[] args) {
System.out.println("main");
StaticTestDrive t = new StaticTestDrive();
}
}