Difference Between Method Overloading and Overriding
Method Overloading |
Method Overriding |
|---|---|
| 1. Method name must be same. | 1. Method name must be same. |
| 2. Method argument must be different. | 2. Method arguments must be same. |
| 3. Method signature must be different. | 3. Method signature must be same. |
| 4. Return type can be changed. | 4. Return type must be same until 1.4v but after 1.5v co-variant type allowed. |
| 5. Private , static and final method can be overloaded. | 5. Private , static and final method can not be override. |
| 6. Any type of access modifier is allowed(public , |
6. We can not decrease the scope modifier. e.g. public method can not override as |
| 7. There is no restriction in exception handling. | 7. Child class should be handle exception same as the parent class or the child exception. e.g. P: Exception C: Exception or IOException |
| 8. Method resolution takes by the compiler. | 8. Method resolution takes by the JVM based on the object reference. |
| 9. Method overloading also known as static polymorphism, compile-time polymorphism or early binding | 9. Method overriding also known as dynamic polymorphism, run-time polymorphism or late binding |
0 comments :
Post a Comment