Alguém poderia me explicar porque o código abaixo não compila?
class Super{
public int a;
protected Super(int a){
this.a = a;
}
}
class Sub extends Super{
public Sub(int a){ super(a); }
public Sub(){ this.a = 5; }
}
O compilador Java gera o seguinte erro:
cannot find symbol
symbol : constructor Super()
location: class Super
public Sub(){ this.a = 5; }
^
1 error
O mais engraçado é que mesmo tirando o “this.a = 5” o código também não compila! :shock:
class Super{
public int a;
protected Super(int a){
this.a = a;
}
}
class Sub extends Super{
public Sub(int a){ super(a); }
public Sub(){ }
}
E o mesmo erro ocorre:
cannot find symbol
symbol : constructor Super()
location: class Super
public Sub(){ }
^
1 error
Alguma idéia do que está acontecendo?
