Existem dois tipos de polimorfismo em Java: sobrecarga e substituição. A sobrecarga do método é um dos dois tipos de polimorfismo.
Por exemplo: quando você pede para uma pessoa realizar a operação “encontrar área”, ela pode perguntar qual área você está procurando?
Polimorfismo funcional significa que diferentes mensagens podem ser passadas para funções para que o objeto possa produzir comportamentos correspondentes com base nas mensagens correspondentes. O comportamento de um objeto é refletido através dos métodos da classe, portanto o polimorfismo de comportamento é a sobrecarga de métodos.
Regras de sintaxe para sobrecarga de métodos:
A sobrecarga de métodos significa que pode haver vários métodos com o mesmo nome em uma classe, mas os parâmetros desses métodos devem ser diferentes. O número de parâmetros é diferente ou o número de parâmetros é o mesmo, mas o tipo de parâmetro correspondente na lista de parâmetros é diferente.
Por exemplo:
classPeople{floathello(inta,intb){returna+b;}floathello(longa,intb){returna-b;}doublehello(doublea,intb){returna*b;}}publicclassMain{publicstaticvoidmain(Stringargs[]){Peopletom= newPeople();System.out.println(tom.hello(10,10));System.out.println(tom.hello(10L,10));System.out.println(tom.hello(10.0,10) );}}
Os resultados da execução são os seguintes:
20.00.0100.0
Perceber:
Se dois métodos tiverem o mesmo nome, os parâmetros deverão ser diferentes, mesmo que os tipos de retorno sejam diferentes.