Sobrecarga de Métodos
Parte da seção Fundamentos do Journey de Java da Coddy. Lição 54 de 73.
Em Java, a sobrecarga de métodos permite definir vários métodos com o mesmo nome, mas com parâmetros diferentes. Isso significa que você pode ter vários métodos que executam uma função semelhante, mas operam com tipos de dados diferentes ou com uma quantidade diferente de argumentos.
O ponto principal é que cada método sobrecarregado deve ter uma assinatura única. A assinatura do método é determinada pelo nome do método e pelo tipo e pela ordem de seus parâmetros.
Aqui estão as principais regras para sobrecarga de métodos:
- Mesmo nome: Todos os métodos sobrecarregados devem ter o mesmo nome.
- Parâmetros diferentes: Cada versão do método deve ter um número diferente de parâmetros, tipos de parâmetros diferentes ou ambos.
- O tipo de retorno não é suficiente: métodos sobrecarregados não podem diferir apenas pelo tipo de retorno. Eles precisam ter listas de parâmetros diferentes.
Aqui está um exemplo para ilustrar a sobrecarga de métodos:
public class MathUtils {
public static int add(int a, int b) {
return a + b;
}
public static double add(double a, double b) {
return a + b;
}
public static int add(int a, int b, int c) {
return a + b + c;
}
}Neste exemplo, temos três métodos chamados add. O primeiro soma dois números inteiros, o segundo soma dois números de ponto flutuante e o terceiro soma três números inteiros.
Java determina qual método chamar com base nos argumentos passados durante a chamada do método.
Quando nenhuma sobrecarga corresponde exatamente aos tipos dos argumentos, Java escolhe aquela que pode ser alcançada por meio de uma conversão implícita de ampliação. Por exemplo, com display(int a) e display(double a), a chamada display(5.0f) usa a versão double, porque um float é ampliado para double, mas não pode se tornar um int sem uma conversão explícita.
A sobrecarga de métodos torna o código mais legível e reutilizável. Em vez de criar nomes diferentes para métodos que realizam tarefas semelhantes (por exemplo, addInts, addDoubles, addThreeInts), você pode usar um único nome, add, e deixar que o compilador escolha o método apropriado com base no contexto.
Lembre-se: a sobrecarga exige tipos ou quantidades de parâmetros diferentes, não apenas nomes de parâmetros ou tipos de retorno diferentes.
Experimente você mesmo
Esta lição não inclui um desafio de código.
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentos
4Operadores - Parte 1
Operadores aritméticosOperador móduloIncremento/DecrementoPós-incremento/Pós-decrementoAtalhos aritméticosOperadores de comparaçãoComparação de strings7IO Básico
Métodos System.outFormatação da saídaClasse ScannerRevisão - Até 120Revisão - Verdadeiro ou falso10Métodos (Funções)
Declarando MétodosParâmetros de MétodosTipos de RetornoSobrecarga de MétodosRecapitulação - Função SigmaRecapitulação - Função de ValidaçãoMétodos Void5Operadores — Parte 2
Operadores lógicos — Parte 1Operadores lógicos — Parte 2Revisão — Lógica simplesOperadores lógicos — Parte 3Operadores lógicos — Parte 43Variáveis — Parte 2
ConstantesConvenções de nomenclaturaRecapitulação — Inicializar variáveisConversão de tipos — Parte 1Conversão de tipos — Parte 26Tomada de Decisão
Instrução IfIf - ElseInstrução SwitchOperador TernárioRevisão - If ElseIf - Else AninhadoPratique por conta própria: Compilador de Java online