Inheritance can reuse code from an existing class when creating a new class.
The new class is called a subclass and the existing class is called the superclass.
A superclass has the reused code and customized by the subclass.
The subclass inherits from the superclass. A superclass is also called as a base class or a parent class.
A subclass is also known as a derived class or a child class.
To inherit a class from another class, use the keyword extends followed by the superclass name.
The general syntax is
<class modifiers> class SubclassName extends <SuperclassName> { }
For example, the following code declares a class MySub, which inherits from class MySuper:
public class MySub extends MySuper { }
Let's look at an example of inheritance in Java.
Let's start with an Employee class as listed in Listing 16-1.
class Employee { private String name = "Unknown"; public void setName(String name) { this.name = name; }//from w w w .jav a 2s .c o m public String getName() { return name; } } // Manager class inherits from the Employee class. // The Manager class does not contain any code, except the declaration. class Manager extends Employee { // No code is needed for now } public class Main { public static void main(String[] args) { // Create an object of the Manager class Manager mgr = new Manager(); // Set the name of the manager mgr.setName("Mary"); // Get the name of the manager String mgrName = mgr.getName(); // Display the manager name System.out.println("Manager Name: " + mgrName); Employee emp = new Employee(); emp.setName("Tom"); String empName = emp.getName(); System.out.println("Employee Name: " + empName); } }
Even if the body Manager class is empty, it works the same as the Employee class, because it inherits from the Employee class.
You create a manager object by using the Manager class's constructor.
Manager mgr = new Manager();
When a class inherits from another class, it inherits its superclass members (instance variables, methods, etc.).