Questão - Construtores

3 respostas
eltonk

Pessoal… Porque o código não compila?!

01 class Pai {
02   Pai() {
03     System.out.println("Pai");
04   }
05   Pai(int valor) {
06     System.out.println("Pai int: " + valor);
07   }
08 }
09 class Filho extends Pai {
10   Filho() {
11     System.out.println("Filho");
12   }
13   Filho(int valor) {
14     super(valor);
15     this();
16   }
17 }
18 public class Teste {
19   public static void main(String[] args) {
20     Pai p = new Pai();
21     Filho primeiro = new Filho();
22   }
23 }

3 Respostas

C

Olá eltonk,

Dentro de um construtor, ou você chama o construtor da superclasse, ou você chama um construtor da própria classe, você não pode chamar os dois construtores, como você quis fazer. E essa chamada DEVE ser a primeira linha do seu construtor.

Até mais,

FieroddPJ

vc não pode ter super() e this() no msm construtor, ambos precisam ser a primeira instrução, e o construtor da subclasse sempre chama o construtor da superclasse por padrão

eltonk

Essa era a informação que me faltava… Valeu

Criado 13 de outubro de 2006
Ultima resposta 13 de out. de 2006
Respostas 3
Participantes 3