Inheritance
In this section, we will have a look at another important principle of OOP, called inheritance. Inheritance in OOP has the same meaning as it has in English. Let's look at an example by using our family trees. Our parents inherit from our grandparents. We then inherit from our parents, and finally, our children inherit, or will inherit, from us. Similarly, a class can inherit the properties of another class. These properties include methods and fields. Then, another class can still inherit from it, and so on. This forms what we call an inheritance hierarchy.
The class being inherited from is called the superclass or the base class, and the class that is inheriting is called the subclass or the derived class. In Java, a class can only inherit from one superclass.
Types of Inheritance
An example of inheritance is a management hierarchy in a company or in the government:
Multiple inheritance is not directly supported in Java, but can be achieved by using interfaces, which will be covered...