Herança com construtor em Java
Você pode me dizer o problema no código a seguir?
class boxdemo1 {
public static void main(String args[]) {
boxweight weightbox = new boxweight(2, 3, 5, 4);
System.out.println(weightbox.volume());
}
}
class boxinfo {
int l, b, h;
/*
* boxinfo() { l=b=h=-1; }
*/
boxinfo(int a, int b, int c) {
l = a;
this.b = b;
h = c;
}
int volume() {
return l * b * h;
}
}
class boxweight extends boxinfo {
int w;
boxweight(int a, int b, int c, int w) {
l = a;
this.b = b;
h = c;
this.w = w;
}
}
Ao compilá-lo, ele mostra o seguinte erro: "o construtor boxinfo na classe boxinfo não pode ser aplicado a determinados tipos; obrigatório: int, int, int; encontrado: sem argumentos; as listas de argumentos reais e formais diferem em tamanho".
Mas quando eu o compilo, incluindo o código comentado (ou seja, o construtor boxinfo ()), ele é compilado. Por que é necessário incluir o construtor padrão?