How to Override Base Class Methods with Derived Class Methods in Java

  • google plus

In Brief...

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.

Instructions

  1. Open your text editor and type in the following Java statements:
    Java Source for Super Class
    The program provides a howPaid method that returns a string specifying how a person is paid. The program also defines two properties: firstName and lastName. Notice that the program follows the Javabean specification for defining a property, i.e., a private variable with getter and setter methods.

  2. Save your file as Person.java.

  3. 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.
    Compile Source for Super Class

  4. Create a new file in your text editor. Type in the following Java statements:
    Java Source for Derived Class
    The Employee class provides a howPaid method 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.

  5. Save your file as Employee.java.

  6. In the command prompt, type in the command to compile the source and hit Enter.
    Compile Source for Derived Class

  7. 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:
    Java Source for Tester Class
    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 howPaid method of the Person class will be called on line 5 of the program source. But when you run the program, you will find that the Employee version of howPaid will be called.

  8. Save your file as OverrideBaseClassMethods.java.

  9. Return to the command prompt. Then type in the command to compile the source and hit Enter.
    Compile Source for Tester Class

  10. 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 howPaid method was called.
    Run Tester for Derived Class

Author: Stephen Withrow

Stephen has over 30 years' experience in training, development, and consulting in a variety of technology areas including Java, C, C++, XML, JavaScript, AJAX, Tomcat, JBoss, Oracle, and DB2. His background includes design and implementation of business solutions on client/server, Web, and enterprise platforms. Stephen is a published writer in both technical and non-technical endeavors. Stephen received an undergraduate degree in Computer Science and Physics from Florida State University.

Discuss