Pergunta

Quando um objeto de uma subclasse é criado, o construtor da superclasse é chamado automaticamente?

Resposta

Quando um objeto de uma subclasse é criado o construtor default (o construtor sem argumentos) da superclasse é chamado automaticamente.

Pode-se realizar a chamada explícita de outro construtor da superclasse desde que esta chamada explícita seja o primeiro comando contido no construtor da subclasse. Para isto utilizamos a palavra reservada super:

public class SubClasse extends ClasseBase {

  public SubClasse() {
    // Chamada explícita ao construtor
    // da superclasse 'ClasseBase'
    super("Valor", 10);
    :
  }
}

Caso a chamada de qualquer construtor da superclasse através de super não seja o primeiro comando do construtor da subclasse será indicado um erro de sintaxe durante a compilação desta classe.