How to Override Base Class Methods with Derived Class Methods in Java
A derived Java class can override a method in its base class. For example, a means of payment method in a
Person class might return a generic message; e.g., "Person is paid monthly". In the
Employee class, however, we can be more specific; e.g., "Employee is paid semi-monthly by W-2". Accordingly, in the derived class, we would desire to override the base class payment method. Learn how to override a base class method by following these 10 steps.
- Open your text editor and type in the following Java statements:
The program provides a
howPaidmethod that returns a string specifying how a person is paid. The program also defines two properties:
lastName. Notice that the program follows the Javabean specification for defining a property, i.e., a private variable with getter and setter methods.
- Save your file as Person.java.
- Open a command prompt and navigate to the directory containing your Java program. Then type in the command to compile the source and hit Enter.
- Create a new file in your text editor. Type in the following Java statements:
Employeeclass provides a
howPaidmethod that will override the corresponding method in the base class. The method returns a string that is specific to how an employee is paid. The program also defines one property:
empId. This property will contain the employee ID.
- Save your file as Employee.java.
- In the command prompt, type in the command to compile the source and hit Enter.
- Now you will create an application to test your derived class. Create a new file in your text editor and type in the following Java statements:
The program instantiates an Employee object and assigns the type as Person. The compiler allows the data type because Employee is a subclass of Person. Because the employee is assigned the Person, we might expect that the
howPaidmethod of the
Personclass will be called on line 5 of the program source. But when you run the program, you will find that the Employee version of
howPaidwill be called.
- Save your file as OverrideBaseClassMethods.java.
- Return to the command prompt. Then type in the command to compile the source and hit Enter.
- You will now test your program. Type in the command to run the Java runtime launcher and then hit Enter. Notice the output of the program verifies that the Employee version of the
howPaidmethod was called.