What is difference between overloading and overriding?

Answer Posted / javamasque

Overloading: As more than one methods are defined with in same class with same name but have any one of the below differences is called method overloading. It is also call static / compile time polymorphism.
1. Input parameter data type should be different.
2. Number of input parameters should be different.
There are two types of overloading as below
1. Constructor overloading.
2. Method overloading (instance / class)
Note: Overloading is not considered on below things
1. Return type (different type)
2. Access modifier ( broader / narrow)
3. Sequence of input parameters.
4. Different exceptions (new / broader)

Overriding: As a method in parent class is defined with exact same signature in one of its child class is call method overriding. It is called dynamic or runtime polymorphism. We have to consider below things while method overriding.
1. The visibility can be broader but can’t be narrower.
2. The exception can be specific but can’t be generic for checked exception.
3. The override method can throw any or new unchecked exception.
4. The return type can be narrower but can’t be broader.
5. The override method can’t be static / final / private.

Is This Answer Correct ?    2 Yes 0 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

Can we have 2 main methods in java class?

753


Can we able to pass objects as an arguments in java?

779


How do singleton patterns work?

735


Can we instantiate interface in java?

899


what is use of functional interface in java 8?

785


Explain the selection sort algorithm and state its time complexity?

814


Which api is provided by java for operations on set of objects?

1195


How does a for loop work?

738


Is string a wrapper class?

747


What is the full name of java?

811


What is the properties class?

824


Is constructor inherited?

744


What is native code?

735


How do generics work in java?

698


What is volatile data type?

737