java

Inheritance in Java

Inheritance in programming is the process whereby one class (also called a sub-class) acquires the properties (methods, fields, etc) of another (in this case a super class) using the extends keyword. This makes information manageable in a hierarchical manner.

With inheritance, you can create new classes that are built upon existing classes. When you inherit an existing class, you can reuse methods and fields of the parents class and you can add new methods and fields as well.

Some of the reasons for using inheritance are for method overriding and code reusability.

Types of Inheritance

  1. Single Inheritance

Example

class Animal{
void eat(){
System.out.println("eating");
}
}

class Dog extends Animal{
void bark(){
System.out.println("barking");
}
}

class TestClass {
public static void main(String args[]){
Dog dog = new Dog();
dog.bark(); //barking
dog.eat(); //eating
}
}

2. Multi-level Inheritance

In a multi-level inheritance, several classes can inherit the properties and methods of each other in a multi-level setting.

class Animal{
void eat(){
System.out.println("eating");
}
}

class Dog extends Animal{
void bark(){
System.out.println("barking");
}
}

class BabyDog extends Dog{
void play(){
System.out.println("A puppy plays");
}
}

class TestClass{
public static void main(String args[]){
BabyDog babydog = new BabyDog();
babydog.play(); //A puppy plays
babydog.bark(): //barking
babydog.eat(); //eating
}
}

3. Hierarchical Inheritance

In a hierarchical inheritance, every subclass inherits from the super class and hence can only call properties of the super class alone. A subclass cannot call properties from another subclass.

class Animal{
void eat(){
System.out.println("eating");
}
}

class Dog extends Animal{
void bark(){
System.out.println("barking");
}
}

class Cat extends Animal{
void meow(){
System.out.println("cat meows")
}
}

class TestClass{
public static void main(String args[]){
Cat c = new Cat();
cat.eat(); //eating
cat.meow(); //cat meows
cat.bark(); //Error! you will have to instantiate the Dog class like so:

Dog dog = new Dog();
dog.eat(); //eating.

}
}

Thank you for reading.

The End.

Recent Posts

CRUD Operations: The Foundation of Data Management

Every application that stores and manages data relies on a set of basic operations known…

1 week ago

Common PHP Mistakes Every Developer Should Avoid

PHP remains one of the most widely used server-side programming languages, powering platforms such as…

1 week ago

Danfo.js: The JavaScript Data Science Library

Danfo.js is an open-source JavaScript library designed for data manipulation, analysis, and machine learning. It provides…

2 weeks ago

Common Async/Await Mistakes Every JavaScript Developer Should Avoid

JavaScript's async and await keywords revolutionized asynchronous programming by making asynchronous code look and behave more like synchronous code.…

2 weeks ago

PGP Encryption And How It Works

Pretty Good Privacy (PGP) is one of the most widely used encryption systems for securing emails,…

2 weeks ago

How To Migrate from PostgreSQL to MySQL

Database migration is one of the most challenging tasks in software engineering. While both PostgreSQL…

3 weeks ago