Ao criar a classe animal, a IDE sugeriu que a mesma fosse definida como abstract e gostaria de saber o porque.
package DesafiosCap3;
public abstract class Animal {
private String som;
public void emitirSom() {
System.out.println("Barulho do animal");
}
}
package DesafiosCap3;
public class Cachorro extends Animal{
String nomecachorro;
@Override
public void emitirSom() {
System.out.println("AU AU AU" );
}
public void abanarRabo(){
System.out.println("rabo abanando");
}
public void identificar(String nome){
this.nomecachorro = nome;
System.out.printf("O nome do cachorro é %s\n", nomecachorro);
}
}
package DesafiosCap3;
public class Gato extends Animal{
String nomeGato;
public String getNomeGato() {
return nomeGato;
}
public Gato setNomeGato(String nomeGato) {
this.nomeGato = nomeGato;
return this;
}
@Override
public void emitirSom() {
System.out.println("miau miau miau");
}
public void ronronar(){
System.out.println("prr prr prr");
}
public void identificar(String nome){
this.nomeGato = nome;
System.out.printf("O nome do gato é %s\n", nomeGato);
}
public static void main(String[] args) {
Cachorro c1 = new Cachorro();
Gato g1 = new Gato();
c1.identificar("Apollo");
c1.emitirSom();
c1.abanarRabo();
g1.identificar("Camila");
g1.emitirSom();
g1.ronronar();
}
}