Pessoal, estou com uma pequena dúvida… Tenho minha classe abstrata e ela possui métodos e métodos abstratos. Qual seria a diferença entre essas declarações?
public abstract class Fruit {
public void isPutrefy() {}
public abstract isPutrefy();
}
public class Apple extends Fruit {
//e agora josé !?
}
Qual a diferença dos métodos quando eu subclassificar a classe Fruit?
Vamos supor que agora você criou a classe Abacate e disse que é(extends) uma fruta, então ao chamar fruta.atributo dela, ela vai se adequar ao objeto criado, que é o abacate, caso ele não possua o método, ele passa a responsabilidade para fruta.
É meio dificil o conceito (pra mim), mas aqui você entende bem:
Se eu não me engano a sua classe Apple vai herdar o metodo " public void isPutrefy() {} " sem ser obrigada a reescreve-lo
e vai ser obrigada a reescrever o metodo "public abstract isPutrefy(); " justamente pq ele é abstrato.
[]'s