Има много разлики между претоварването на метода и отмяната на метода в java. По-долу е даден списък с разлики между претоварване на метод и отмяна на метод:
Не. | Претоварване на метода | Замяна на метода |
---|---|---|
1) | Използва се претоварване на метода за увеличаване на четливостта на програмата. | Използва се замяна на метода за осигуряване на конкретната реализация на метода, който вече е предоставен от неговия супер клас. |
2) | Извършва се претоварване на метода в рамките на класа . | Възниква отмяна на метода в два класа които имат връзка IS-A (наследяване). |
3) | В случай на претоварване на метода, параметърът трябва да е различен . | В случай на отмяна на метода, параметърът трябва да е същият . |
4) | Претоварването на метода е пример за полиморфизъм по време на компилиране . | Замяната на метода е пример за полиморфизъм по време на изпълнение . |
5) | В java претоварването на метода не може да се извърши само чрез промяна на връщания тип на метода. Типът връщане може да бъде същият или различен при претоварване на метода. Но трябва да промените параметъра. | Върнатият тип трябва да е същият или ковариантен при отмяна на метода. |
Пример за претоварване на Java метод
class OverloadingExample{ static int add(int a,int b){return a+b;} static int add(int a,int b,int c){return a+b+c;} }
Пример за замяна на метод на Java
class Animal{ void eat(){System.out.println('eating...');} } class Dog extends Animal{ void eat(){System.out.println('eating bread...');} }