Por exemplo:
package Herança;
public abstract class Animal {
protected int serial;
double peso;
void dormir() {
System.out.println("Dormiu");
}
abstract void fazerBarulho();
abstract void comida();
}
package Herança;
public class Cachorro extends Animal {
void fazerBarulho() {
System.out.println("Au, Au !");
}
void comida() {
System.out.println("Ração");
}
}
package Herança;
public class Galinha extends Animal {
void fazerBarulho() {
System.out.println("Có, Có !");
}
void comida() {
System.out.println("Milho");
}
}
package Herança;
public class AnimalTest {
public static void barulho(Animal animal) {
animal.fazerBarulho();
}
public static void comida(Animal animal) {
animal.comida();
}
public static void main(String[] args) {
Animal titi = new Galinha();
Animal toto = new Cachorro();
Animal carijo = new Galinha();
Animal pitbull = new Cachorro();
comida(titi);
comida(toto);
comida(carijo);
comida(pitbull);
}
}
