A herança é um dos pilares da Programação Orientada a Objetos (POO) e permite que uma classe (chamada de classe filha ou subclasse) herde atributos e métodos de outra classe (chamada de classe pai ou superclasse).
Isso significa que podemos reutilizar código já existente, evitando repetição e deixando o programa mais organizado.
Exemplo prático
Vamos criar uma classe Animal e depois duas classes filhas: Cachorro e Gato.
// Classe pai
public class Animal {
String nome;
int idade;
public void dormir() {
System.out.println(nome + "dormindo");
}
}
// Classe derivada
public class Cachorro extends Animal {
public void latir() {
System.out.println(nome + "Au Au");
}
}
// Outra subclasse
public class Gato extends Animal {
public void miar() {
System.out.println(nome + "Miau");
}
}