Der er mange forskelle mellem metodeoverbelastning og metodetilsidesættelse i java. En liste over forskelle mellem metodeoverbelastning og metodetilsidesættelse er givet nedenfor:
Ingen. | Metode Overbelastning | Metode tilsidesættelse |
---|---|---|
1) | Metode overbelastning anvendes for at øge læsbarheden af programmet. | Metodetilsidesættelse anvendes at levere den specifikke implementering af metoden, der allerede leveres af dens superklasse. |
2) | Metodeoverbelastning udføres inden for klassen . | Metodetilsidesættelse forekommer i to klasser der har IS-A (arve) forhold. |
3) | I tilfælde af metodeoverbelastning, parameter skal være anderledes . | I tilfælde af metodetilsidesættelse, parameter skal være den samme . |
4) | Metode overbelastning er eksemplet på kompiler tidspolymorfi . | Metodetilsidesættelse er eksemplet på køretidspolymorfi . |
5) | I java kan metodeoverbelastning ikke udføres ved kun at ændre metodens returtype. Returtype kan være den samme eller forskellig i metodeoverbelastning. Men du skal ændre parameteren. | Returtypen skal være den samme eller kovariant i metode tilsidesættende. |
Eksempel på Java Method Overloading
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-metode tilsidesættende eksempel
class Animal{ void eat(){System.out.println('eating...');} } class Dog extends Animal{ void eat(){System.out.println('eating bread...');} }