class Animal { protected String name; protected int age; public Animal(String name, int age) { this.name = name; this.age = age; } public void eat() { System.out.println(name + " is eating."); } public void sleep() { System.out.println(name + " is sleeping."); } public String getName() { return name; } public int getAge() { return age; } } class Dog extends Animal { public Dog(String name, int age) { super(name, age); } public void bark() { System.out.println(name + " says: Woof!"); } } class Cat extends Animal { public Cat(String name, int age) { super(name, age); } public void meow() { System.out.println(name + " says: Meow!"); } } public class Example01 { public static void main(String[] args) { Dog dog = new Dog("Rex", 5); Cat cat = new Cat("Mimi", 3); dog.eat(); dog.bark(); dog.sleep(); cat.eat(); cat.meow(); cat.sleep(); } }