Bem tenho algumas dúvidas sobre herança, sempre as classes que eu devirar da principal vão ser as filhas…?? eu posso herdar atributos
private de uma classe principal…??se eu tiver um método em uma classe
principal eu posso herdar esse método para dezenas de outras classes?
se eu tiver uma classe exemplo:
a classe vaca está herdando a classe Animal mais ambas tem o método
comer comida ai como fica esse situação?
Usando o teu exemplo: se vc cria galinha (ou vaca) apartir de animal (class galinha extends animal), galinha herda os métodos de animal, vc não precisa necessariamente criar outro “comercomida” p/ galinha se esse “comercomida” vai fazer exatamente a mesma coisa, mas se por exemplo em animal “comercomida” é comer alguma ração e p/ galinha vc quer dar só milho, vc pode criar em galinha um método “comercomida” onde vc vai especificar que isso é comer milho e não ração, e esse método criado em galinha vai sobreescrever o “comercomida” do animal … (será q enrolei agora?!), mas galinha pode ter métodos e atributos adicionais, aí esses vc cria em galinha… a idéia é q o objeto galinha vai ter tudo que a classe animal tem, pq galinha é um animal, isso é a tal da herança… Aí nesse caso sim: galinha é classe filha e animal classe mãe… e uma classe pode ter várias filhas, mas uma única mãe… acho que é isso…
se tiver lendo algum livro ou material da net procure por niveis de acesso, tudo depende dele, os atributos pode ser herdados se vc declarar eles como public. o q for declarado como private nao pode ser herdado por uma classe filha pq eh privado apenas daquela class pai, uma class marcada como final tb nao pode ser herdada. entao tudo depende do nivel de acesso, os contrutores mesmo eles nao sao herdados mais sao sobrecarregados… isso é fundamental… qdo se trabalhar com mais de uma class… pesquise sobre isso niveis de acesso e veja com a ideia de herança… um dos livros que vi q abordou isso bastante legal foi o da kathy sierra, achei melhor que o deitel sexta edição!!