O seguinte é ilustrado por exemplos:
classe pai
pai de classe pública {
bloco estático{//estático
System.out.println("bloco livre ESTÁTICO do pai em execução");
}
{//Bloco não estático
System.out.println("bloco livre do pai em execução");
}
pai público(){
System.out.println("construtor do pai em execução");
}
}
Subclasse
{//Bloco não estático
System.out.println("bloqueio livre do filho em execução");
}
filho público() {
// TODO stub do construtor gerado automaticamente
System.out.println("construtor do filho em execução");
}
}
A classe onde a função principal está localizada
teste de aula pública{
public static void main(String[] args) {
Classe f;
tentar {
System.out.println("--------antes do carregamento pai--------");
f=Class.forName("freeblock.pai");
System.out.println("--------pai pós-carga---------");
System.out.println("--------antes do objeto pai inicial--------");
f.newInstance();
System.out.println("--------após o objeto pai inicial--------");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
Aulas;
tentar {
System.out.println("-------antes do carregamento filho--------");
s=Class.forName("freeblock.son");
System.out.println("--------filho pós-carga--------");
System.out.println("--------antes do objeto filho inicial----------");
s.newInstance();
System.out.println("--------após o objeto filho inicial-----------");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
}
Resultado da execução:
--------antes do carregador--------
blockrunning gratuito ESTÁTICO do pai
--------depois do pai-carregador---------
--------antes do objeto pai inicial--------
bloco livre do pai correndo
construtor do pai em execução
--------após o objeto pai inicial--------
------- antes de carregar filho --------
bloco livre ESTÁTICO do filho em execução
--------depois de carregar filho-------
--------antes do sonoobjeto inicial---------
bloco livre do pai correndo
construtor do pai em execução
bloco livre do filho correndo
construtor do filho em execução
--------após o objeto filho inicial----------