logo

Różnica między przeciążaniem metod a nadpisywaniem metod w Javie

Istnieje wiele różnic pomiędzy przeciążaniem metod a nadpisywaniem metod w Javie. Poniżej znajduje się lista różnic pomiędzy przeciążaniem i nadpisywaniem metod:

NIE.Przeciążenie metodyZastępowanie metody
1)Stosowane jest przeciążanie metod aby zwiększyć czytelność programu.Stosowane jest zastępowanie metody aby zapewnić konkretną implementację metody, która jest już zapewniona przez jej superklasę.
2)Wykonywane jest przeciążanie metody w klasie .Następuje przesłonięcie metody w dwóch klasach które mają relację IS-A (dziedziczenie).
3)W przypadku przeciążenia metody, parametr musi być inny .W przypadku nadpisania metody parametr musi być taki sam .
4)Przykładem jest przeciążanie metod Polimorfizm czasu kompilacji .Przykładem jest przesłonięcie metody Polimorfizm czasu wykonywania .
5)W Javie nie można przeciążać metod, zmieniając tylko typ zwracanej metody. Typ zwrotu może być taki sam lub inny w przeciążeniu metody. Ale musisz zmienić parametr. Typ zwrotu musi być taki sam lub kowariantny w nadpisaniu metody.

Przykład przeciążania metody 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;} } 

Przykład przesłaniania metody Java

 class Animal{ void eat(){System.out.println('eating...');} } class Dog extends Animal{ void eat(){System.out.println('eating bread...');} }