Java Overriding, Overloading, Extending - Example and Explanation
Overriding:
- Subclass redefines a method of superclass.
- Example: Puppy overrides eat() of Animal.
Overloading:
- Same method name, different parameter list.
- Example: Puppy defines eat(String food).
Extending:
- Subclass inherits methods/fields of superclass using 'extends'.
Code Example:
---------------------------------------------
class Animal {
void eat() { [Link]("The animal eats food"); }
class Dog extends Animal {
void bark() { [Link]("Dog barks"); }
class Puppy extends Dog {
void eat() { [Link]("I am a puppy"); } // overriding
void eat(String food) { [Link]("Puppy eats " + food); } // overloading
public class classlass {
public static void main(String[] args) {
Animal a = new Puppy();
[Link](); // overridden method: I am a puppy
Puppy p = new Puppy();
[Link](); // I am a puppy
[Link]("biscuits"); // overloading: Puppy eats biscuits
[Link](); // inherited from Dog: Dog barks
---------------------------------------------