14 Apr
Quando criamos o construtor da nossa classe, mesmo que não coloquemos explicitamente uma chamada ao construtor da classe mãe, a chamada ao construtor da classe mãe é a primeira coisa que acontece no nosso construtor.
Vejam as seguites classes:
class A {
A(){
System.out.println("Construtor A");
}
}
class B extends A{
B(){
System.out.println("Construtor B");
}
}
class C extends B{
C(){
System.out.println("Construtor C");
}
}
class D extends C{
D(){
System.out.println("Construtor D");
}
}
Se dermos new D(), a saída será:
Construtor A
Construtor B
Construtor C
Construtor D
Isso garante que todas as ancestrais da sua classe estejam inicializadas antes da sua classe ser inicializada.
Posts Relacionados:
3 Responses for "INC - Pilha de Construtores"
E o que acontece quando colocamos “super” no construtor? O construtor da classe mãe é chamado duas vezes? Ou muda a ordem de execução?
Não.
Quando nós não colocamos a chamada para o construtor da superclasse, o compilador adiciona pra gente. Mais ou menos com o extends Object, que se você não colocar o compilador coloca pra você.
Além disso, também não dá pra chamar o construtor da superclasse duas vezes, pois a primeira instrução de um construtor SEMPRE é a chamada ao contrutor da superclasse.
Jonas
Qual o Plug-in de código que você usa?
Adicionei vocês no meu blogroll, me adicionem no de vocês também :-)
Abraços
Leave a reply