logo

Diferença entre sobrecarga de método e substituição de método em java

Existem muitas diferenças entre sobrecarga de método e substituição de método em java. Uma lista de diferenças entre sobrecarga de método e substituição de método é fornecida abaixo:

Não.Sobrecarga de métodoSubstituição de método
1)A sobrecarga de método é usada para aumentar a legibilidade do programa.A substituição de método é usada para fornecer a implementação específica do método que já é fornecido por sua superclasse.
2)A sobrecarga do método é executada dentro da aula .A substituição do método ocorre em duas aulas que possuem relacionamento IS-A (herança).
3)Em caso de sobrecarga do método, o parâmetro deve ser diferente .No caso de substituição de método, parâmetro deve ser o mesmo .
4)A sobrecarga de método é o exemplo de polimorfismo em tempo de compilação .A substituição de método é o exemplo de polimorfismo de tempo de execução .
5)Em Java, a sobrecarga do método não pode ser executada alterando apenas o tipo de retorno do método. O tipo de retorno pode ser igual ou diferente na sobrecarga de método. Mas você deve alterar o parâmetro. O tipo de retorno deve ser igual ou covariante na substituição de método.

Exemplo de sobrecarga de método 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;} } 

Exemplo de substituição de método Java

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