How to Override Base Class Methods with Derived Class Methods in Java
See Java: Tips and Tricks for similar articles.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
howPaid
method that returns a string specifying how a person is paid. The program also defines two properties:firstName
andlastName
. 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:
The
Employee
class provides ahowPaid
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. - 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
howPaid
method of thePerson
class will be called on line 5 of the program source. But when you run the program, you will find that the Employee version ofhowPaid
will 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
howPaid
method was called.
Related Articles
- How to Check Object Type in Java
- How to Create a Jar File in Java
- How to Compile Packages in Java
- How to Throw an Exception in Java
- How to Create an Exception Class in Java
- How to Use the super Keyword to Call a Base Class Constructor in Java
- How to Use the Comparator.comparing Method in Java 8
- How to Use System.in in Java
- How to Call an Interface Method in Java
- How to Add a Time Zone in the Java 8 Date/Time API
- How to Rethrow an Exception in Java
- How to Use the instanceof Operator with a Generic Class in Java
- How to Instantiate an Object in Java
- How to Filter Distinct Elements from a Collection in Java 8
- How to Create a Derived Class in Java
- How to Skip Elements with the Skip Method in Java 8
- How to Create a Java Bean
- How to Implement an Interface in Java
- How to Compare Two Objects with the equals Method in Java
- How to Set PATH from JAVA_HOME
- How to Prevent Race Conditions in Java 8
- How to Write a Block of Code in Java
- How to Display the Contents of a Directory in Java
- How to Group and Partition Collectors in Java 8
- How to Create a Reference to an Object in Java
- How to Reduce the Size of the Stream with the Limit Method in Java 8
- How to Write an Arithmetic Expression in Java
- How to Format Date and Time in the Java 8 Date/Time API
- How to Use Comparable and Comparator in Java
- How to Break a Loop in Java
- How to Use the this Keyword to Call Another Constructor in Java
- How to Write a Unit Test in Java
- How to Declare Variables in Java
- How to Override Base Class Methods with Derived Class Methods in Java (this article)
- How to Use Serialized Objects in Java
- How to Write Comments in Java
- How to Implement Functional Interfaces in Java 8
- How to Write Type Parameters with Multiple Bounds in Java
- How to Add Type and Repeating Annotations to Code in Java 8
- How to Use Basic Generics Syntax in Java
- How to Map Elements Using the Map Method in Java 8
- How to Work with Properties in Java
- How to Write while and do while Loops in Java
- How to Use the finally Block in Java
- How to Write for-each Loops in Java
- How to Create a Method in Java
- How to Continue a Loop in Java
- How to Handle Java Files with Streams
- How to Create an Interface Definition in Java
- How Default Base Class Constructors Are Used with Inheritance