Hi ha moltes diferències entre la sobrecàrrega de mètodes i la substitució de mètodes a Java. A continuació es mostra una llista de diferències entre la sobrecàrrega de mètodes i la substitució de mètodes:
No. | Sobrecàrrega del mètode | Anulació del mètode |
---|---|---|
1) | S'utilitza el mètode de sobrecàrrega per augmentar la llegibilitat del programa. | S'utilitza la substitució del mètode per proporcionar la implementació específica del mètode que ja proporciona la seva superclasse. |
2) | Es realitza la sobrecàrrega del mètode dins la classe . | Es produeix l'anul·lació del mètode en dues classes que tenen una relació IS-A (herència). |
3) | En cas de sobrecàrrega del mètode, el paràmetre ha de ser diferent . | En cas de substitució del mètode, el paràmetre ha de ser el mateix . |
4) | La sobrecàrrega de mètodes és un exemple Compilar el polimorfisme temporal . | La substitució del mètode és l'exemple polimorfisme en temps d'execució . |
5) | A Java, la sobrecàrrega del mètode no es pot dur a terme canviant només el tipus de retorn del mètode. El tipus de retorn pot ser igual o diferent en sobrecàrrega de mètodes. Però heu de canviar el paràmetre. | El tipus de retorn ha de ser igual o covariant en la substitució del mètode. |
Exemple de sobrecàrrega del mètode 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;} }
Exemple de substitució del mètode Java
class Animal{ void eat(){System.out.println('eating...');} } class Dog extends Animal{ void eat(){System.out.println('eating bread...');} }