Home > Java > javaTutorial > Understanding Inheritance in Java Through a Practical Example

Understanding Inheritance in Java Through a Practical Example

Mary-Kate Olsen
Release: 2025-01-03 16:35:42
Original
137 people have browsed it

Understanding Inheritance in Java Through a Practical Example

Inheritance is a core concept in object-oriented programming (OOP) that allows one class to acquire the properties (attributes and methods) of another class. In Java, inheritance is implemented using the extends keyword and represents an "is-a" relationship. This article explains inheritance in Java through a practical example.

The Code Example

// Defining a class
class Animal {
    // General attributes
    protected String colour;
    protected String breed;
    protected int age;

    // General methods
    public String sleep() {
        return "Both cats and dogs sleep";
    }

    public String eat() {
        return "They also eat";
    }

    // Constructor
    public Animal(String colour, String breed, int age) {
        this.colour = colour;
        this.breed = breed;
        this.age = age;
    }

    // Getters and setters
    public String getColour() {
        return colour;
    }

    public void setColour(String colour) {
        this.colour = colour;
    }

    public String getBreed() {
        return breed;
    }

    public void setBreed(String breed) {
        this.breed = breed;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

// Cat class inheriting from Animal class
class Cat extends Animal {
    private String catName;

    public Cat(String colour, String breed, int age, String catName) {
        super(colour, breed, age); // Call the parent class constructor
        this.catName = catName;
    }

    public String getCatName() {
        return catName;
    }

    public void setCatName(String catName) {
        this.catName = catName;
    }

    public String catSound() {
        return "Cat meows!";
    }
}

// Dog class inheriting from Animal class
class Dog extends Animal {
    private String dogName;

    public Dog(String colour, String breed, int age) {
        super(colour, breed, age);
    }

    public String getDogName() {
        return dogName;
    }

    public void setDogName(String dogName) {
        this.dogName = dogName;
    }

    public String dogSound() {
        return "Dog barks!";
    }
}

public class Demo {
    public static void main(String[] args) {
        Cat myCat = new Cat("Brown", "Persian", 2, "Tom");
        Dog myDog = new Dog("Black", "Labrador", 3);

        // Display Cat details
        System.out.println("Cat's Name: " + myCat.getCatName());
        System.out.println("Cat's Colour: " + myCat.getColour());
        System.out.println("Cat's Breed: " + myCat.getBreed());
        System.out.println("Cat's Age: " + myCat.getAge());
        System.out.println("Cat Sound: " + myCat.catSound());
        System.out.println("Cat Behavior: " + myCat.eat() + " and " + myCat.sleep());

        // Display Dog details
        System.out.println("Dog's Colour: " + myDog.getColour());
        System.out.println("Dog's Breed: " + myDog.getBreed());
        System.out.println("Dog's Age: " + myDog.getAge());
        System.out.println("Dog Sound: " + myDog.dogSound());
    }
}
Copy after login

Key Concepts in the Code

Parent Class (Animal):

  • Defines common attributes (colour, breed, age) and methods (sleep, eat) that are shared among all animals.
  • Provides a constructor to initialize these attributes.
  • Includes getters and setters for encapsulation.

Child Classes (Cat and Dog):

Understanding Inheritance in Java Through a Practical Example
Understanding Inheritance in Java Through a Practical Example

  • Extend the Animal class and inherit its attributes and methods.
  • Add specific attributes (catName, dogName) and behaviors (catSound, dogSound).
  • Use the super keyword to call the parent class constructor and initialize inherited attributes.

Demo Class:

  • Serves as the entry point of the program.
  • Demonstrates how to create objects of Cat and Dog classes and access their properties and methods.

Benefits of Inheritance

  • Code Reusability: The Cat and Dog classes reuse the code in the Animal class.
  • Extensibility: New child classes (e.g., Bird, Fish) can be added easily by extending the Animal class.
  • Polymorphism: Shared methods like sleep and eat can be overridden in child classes to provide specific behaviors.

Output of the Program

Cat's Name: Tom
Cat's Colour: Brown
Cat's Breed: Persian
Cat's Age: 2
Cat Sound: Cat meows!
Cat Behavior: They also eat and Both cats and dogs sleep
Dog's Colour: Black
Dog's Breed: Labrador
Dog's Age: 3
Dog Sound: Dog barks!

Copy after login

my GitHub
java repo

The above is the detailed content of Understanding Inheritance in Java Through a Practical Example. For more information, please follow other related articles on the PHP Chinese website!

source:dev.to
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template