logo

Diferența dintre supraîncărcarea metodei și suprascrierea metodei în java

Există multe diferențe între supraîncărcarea metodei și suprascrierea metodei în java. O listă a diferențelor dintre supraîncărcarea metodei și suprascrierea metodei este prezentată mai jos:

Nu.Supraîncărcarea metodeiSuprascrierea metodei
1)Se folosește supraîncărcarea metodei pentru a crește lizibilitatea a programului.Se folosește suprascrierea metodei pentru a oferi implementarea specifică a metodei care este deja furnizată de superclasa sa.
2)Se realizează supraîncărcarea metodei în cadrul clasei .Are loc depășirea metodei în două clase care au relație IS-A (moștenire).
3)În cazul supraîncărcării metodei, parametrul trebuie să fie diferit .În cazul depășirii metodei, parametrul trebuie să fie același .
4)Supraîncărcarea metodei este exemplul compilează polimorfismul temporal .Suprascrierea metodei este exemplul polimorfismul timpului de rulare .
5)În java, supraîncărcarea metodei nu poate fi efectuată doar prin schimbarea tipului de returnare al metodei. Tipul de returnare poate fi același sau diferit în supraîncărcarea metodei. Dar trebuie să schimbați parametrul. Tipul de returnare trebuie să fie același sau covariant în depășirea metodei.

Exemplu de supraîncărcare a metodei 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;} } 

Exemplu de suprascriere a metodei Java

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