Method Overriding allows a subclass or child class to provide a specific implementation of a method that is already provided by one of its superclasses or parent classes.
Method Overloading is the ability to create multiple functions of the same name with different implementations.
/** * @author lautturi.com * Java example: Method Overriding example in java */ import java.util.*; class Animal { void show() { System.out.println("An Animal"); } } class Dog extends Animal { void show() { System.out.println("A Dog"); } } public class Lautturi { public static void main(String args[]) { Animal obj1 = new Animal(); obj1.show(); Dog obj2 = new Dog(); obj2.show(); Animal obj3 = new Dog(); obj3.show(); } }Source:www.lautturi.com
output:
An Animal A Dog A Dog
/** * @author lautturi.com * Java example: Method Overloading example in Java */ import java.util.*; public class Lautturi { private static void plus(){// no parameter System.out.println("plus method with no parameter is called"); } private static int plus(int i,int j){// integer parameter System.out.println("int plus method is called"); return i+j; } private static double plus(double i,double j){ // double parameter System.out.println("double plus method is called"); return i+j; } public static void main(String[] args) { plus(); System.out.println(plus(2,3)); System.out.println(plus(1.41,3.14)); } }
output:
plus method with no parameter is called int plus method is called 5 double plus method is called 4.55