Java Abstract Classes - Abstract Animal Class with Lion and Tiger Subclasses

Java Abstract Class: Exercise-1 with Solution

Write a Java program to create an abstract class Animal with an abstract method called sound(). Create subclasses Lion and Tiger that extend the Animal class and implement the sound() method to make a specific sound for each animal.

Above exercise represents the class structure and the relationship between the abstract class and its subclasses.

In the following code, the Animal class is shown as an abstract class with the abstract method sound(). The Lion and Tiger classes are subclasses of Animal and provide their own sound() implementations. The arrow indicates the inheritance relationship, where Lion and Tiger inherit from Animal.

Sample Solution:

Java Code:

// Animal.java
// Abstract class Animal
abstract class Animal {
    public abstract void sound();

// Lion.java
// Subclass Lion
class Lion extends Animal {
    public void sound() {
        System.out.println("Lion roars!");
// Tiger.java
// Subclass Tiger
class Tiger extends Animal {
    public void sound() {
        System.out.println("Tiger growls!");
// Main.java
// Subclass Main

public class Main {
    public static void main(String[] args) {
        Animal lion = new Lion();
        lion.sound(); // Output: Lion roars!

        Animal tiger = new Tiger();
        tiger.sound(); // Output: Tiger growls!

Sample Output:

Lion roars!
Tiger growls!


Flowchart: Abstract class Animal
Flowchart: Subclass Lion
Flowchart: Subclass Tiger
Flowchart: Subclass Main

Java Code Editor:

Contribute your code and comments through Disqus.

Previous: Java Abstract Classes Exercises Home.
Next: Abstract Shape Class with Circle and Triangle Subclasses.

What is the difficulty level of this exercise?

Follow us on Facebook and Twitter for latest update.