This() e super()

Gostaria de saber a diferença de super() e this(), li use a cabeça! java, porém não conseguir destinguir as diferenças. Obrigado :arrow:

super faz referência à classe Mãe.
super() chama o contrutor da classe Mãe.
this faz referência à própria classe.

Só completando…se você escreve this(), quer dizer que está chamado o construtor default da classe onde você escreveu o código…

[code]public class A extends B {
public A() {
super(); // chama o que ?
System.out.println(“Construtor A()”);
}

    public A(int i){
            this(); // chama o que ?
            System.out.println("Construtor A(int)");
    }
    public static void main (String [] xxx){

            System.out.println("new A()");
            A a1 = new A();

            System.out.println("new A(0)");
            A a2 = new A(0);

            System.out.println("new B()");
            B b1 = new B();
    }

}

class B{
public B(){
System.out.println(“Construtor B()”);
}
}[/code]

Este código irá produzir:

new A()
Construtor B()
Construtor A()
new A(0)
Construtor B()
Construtor A()
Construtor A(int)
new B()
Construtor B()

Vc percebeu que, em cada super() vc chamou o construtor da classe B (pai) e a cada this() vc chamou o construtor da classe em questão?

Basicamente essa é a diferença :wink:

Entendi perfeitamente, muito obrigado