Linux, Open-source, Programação e Produtividade

INC - Pilha de Construtores

Jonas Abreu em 14/04/2008

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.

Creative Commons License
INC - Pilha de Construtores de Jonas Abreu está licenciado sob Creative Commons License.