logo

Differenza tra sovraccarico del metodo e override del metodo in Java

Esistono molte differenze tra l'overload del metodo e l'override del metodo in Java. Di seguito è riportato un elenco delle differenze tra l'overload del metodo e l'override del metodo:

NO.Sovraccarico del metodoMetodo prioritario
1)Viene utilizzato l'overload del metodo per aumentare la leggibilità del programma.Viene utilizzato l'override del metodo per fornire l'implementazione specifica del metodo già fornito dalla sua super classe.
2)Viene eseguito l'overload del metodo all'interno della classe .Si verifica l'override del metodo in due classi che hanno una relazione IS-A (ereditarietà).
3)In caso di sovraccarico del metodo, il parametro deve essere diverso .In caso di override del metodo, il parametro deve essere lo stesso .
4)Il sovraccarico del metodo ne è un esempio polimorfismo in fase di compilazione .L'override del metodo ne è un esempio Polimorfismo in fase di esecuzione .
5)In Java, l'overload del metodo non può essere eseguito modificando solo il tipo restituito del metodo. Il tipo di reso può essere uguale o diverso nel sovraccarico del metodo. Ma devi cambiare il parametro. Il tipo restituito deve essere uguale o covariante nel metodo override.

Esempio di sovraccarico del metodo 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;} } 

Esempio di override del metodo Java

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