Difference between overloading and overriding in JAVA Programming ?

Difference between overloading and overriding in JAVA Programming ?

While working with java programming, I am wondering whether method overloading can be done within two classes in which inheritance is implemented. These type of java questions and answers are highly searched for interview purpose, hope into get a solution of this query with an example.

4 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

There are many differences between method overloading and method overriding in java. A list of differences between method overloading and method overriding are given below:

No. Method Overloading Method Overriding
1) Method overloading is used to increase the readability of the program. Method overriding is used to provide the specific implementation of the method that is already provided by its super class.
2) Method overloading is performed within class. Method overriding occurs in two classes that have IS-A (inheritance) relationship.
3) In case of method overloading, parameter must be different. In case of method overriding, parameter must be same.
4) Method overloading is the example of compile time polymorphism. Method overriding is the example of run time polymorphism.
5) In java, method overloading can't be performed by changing return type of the method only. Return type can be same or different in method overloading. But you must have to change the parameter. Return type must be same or covariant in method overriding.

Java Method Overloading example

  1. class OverloadingExample{  
  2. static int add(int a,int b){return a+b;}  
  3. static int add(int a,int b,int c){return a+b+c;}  
  4. }  

Java Method Overriding example

  1. class Animal{  
  2. void eat(){System.out.println("eating...");}  
  3. }  
  4. class Dog extends Animal{  
  5. void eat(){System.out.println("eating bread...");}  
  6. }  


Overloading occurs when two or more methods in one class have the same method name but different parameters. Overriding means having two methods with the same method name and parameters (i.e., method signature). One of the methods is in the parent class and the other is in the child class.

overloading vs overriding in java: https://cupofprogramming.blogspot.in/2016/10/overloading-vs-overriding-i...

Leave a Comment

Please sign in to add a comment. Not a member? Join today