E ai pessoal. 8) Estou com uma dúvida na questão de criação de objetos.
Tenho duas classes: Mamífero e Humano. A classe Humano herda a classe Mamífero.
public class Mamifero {
private String altura;
private int idade;
public void setAltura(String altura) {
this.altura = altura;
}
}
public class Humano extends Mamifero {
private String nome;
private String sexo;
public void setNome(String nome) {
this.nome = nome;
}
}
Minha dúvida está na forma de instanciar. Qual seria a diferença entre as duas formas de instanciar abaixo? (esta questão caiu em um concurso).
Mamifero m1=new Humano(); //m1 recebe o endereço da classe Humano
Mamifero m2=new Mamifero();//m2 recebe o endereço da classe Mamifero
Obs: reparei que m1 e m2 acessa os mesmo métodos de Mamífero. Em m1 não consegui entender a necessidade de utilizar new Humano() ao invés
de new Mamifero();
Espero uma ajuda, obrigado!