Criei um exemplo para saber se entendi mesmo a herança com o construtor. Código abaixo:
package caneta;
public class Caneta {
private String marca;
private String tipo;
private String tinta;
private float ponta;
private boolean estaTampada;
public Caneta(String marca, String tipo, String tinta, float ponta, boolean estaTampada) {
this.marca = marca;
this.tipo = tipo;
this.estaTampada = estaTampada;
this.ponta = ponta;
this.tinta = tinta;
System.out.println(" A marca: " + marca + "\n O tipo: " + tipo + "\n Está Tampada: "
+ estaTampada + "\n Ponta: " + ponta + "\n Tinta: " + tinta);
if (estaTampada == false) {
System.out.println("Pode rabiscar!");
} else {
System.out.println("Destampe a caneta!");
}
}
public String getTipo() {
return tipo;
}
public void setTipo(String tipo) {
this.tipo = tipo;
}
public String getTinta() {
return tinta;
}
public void setTinta(String tinta) {
this.tinta = tinta;
}
public float getPonta() {
return ponta;
}
public void setPonta(float ponta) {
this.ponta = ponta;
}
public boolean isEstaTampada() {
return estaTampada;
}
public void setEstaTampada(boolean estaTampada) {
this.estaTampada = estaTampada;
}
public String getMarca() {
return marca;
}
public void setMarca(String marca) {
this.marca = marca;
}
}
package caneta;
public class CanetaBic extends Caneta{
public CanetaBic(String marca, String tipo, String tinta, float ponta, boolean estaTampada) {
super(marca, tipo, tinta, ponta, estaTampada);
}
}
package caneta;
public class TestaCaneta {
public static void main(String[] args) {
CanetaBic caneta = new CanetaBic("Bic", "Esteliografa", "Preta", 0.5f, false);
}
}
Nesse exemplo, eu crio o construtor para não precisar referenciar cada atributo um de cada vez e também para herdar todos os atributos e métodos da classe mãe (Caneta), certo?