Det finns många skillnader mellan metodöverbelastning och metodöverstyrning i java. En lista över skillnader mellan metodöverbelastning och metodöverstyrning ges nedan:
Nej. | Metod Överbelastning | Metod Åsidosättande |
---|---|---|
1) | Metodöverbelastning används för att öka läsbarheten av programmet. | Metodöverstyrning används för att tillhandahålla den specifika implementeringen av metoden som redan tillhandahålls av dess superklass. |
2) | Metodöverbelastning utförs inom klassen . | Metodöverstyrning sker i två klasser som har ett IS-A-förhållande (arv). |
3) | I händelse av metodöverbelastning, parametern måste vara annorlunda . | Om metoden åsidosätts, parametern måste vara densamma . |
4) | Metodöverbelastning är exemplet på kompilera tidspolymorfism . | Metodöverstyrning är exemplet på körtidspolymorfism . |
5) | I java kan metodöverbelastning inte utföras genom att endast ändra metodens returtyp. Returtyp kan vara samma eller olika i metodöverbelastning. Men du måste ändra parametern. | Returtyp måste vara samma eller samvariant i metod åsidosättande. |
Exempel på överbelastning av Java-metoden
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;} }
Exempel på överordnad Java-metod
class Animal{ void eat(){System.out.println('eating...');} } class Dog extends Animal{ void eat(){System.out.println('eating bread...');} }