Sobrecarga (método de seleção de recarga):
O Java permite que vários métodos em uma classe tenham o mesmo nome, mas quando os nomes são os mesmos, os parâmetros diferentes devem ser incluídos. , Erros de compilação no tempo ocorrerão sem parâmetros correspondentes ou encontrar várias correspondências possíveis.
A sobrecarga inclui: sobrecarga de métodos comuns e sobrecarga de métodos construtores
Método: isto é, uma função (que chamamos coletivamente no texto de "método"), é um segmento de programa fixo ou uma sub -rotina, que pode realizar funções de operação fixa. Além disso, ele também possui uma entrada e uma saída. Chamado de saída significa a função.
Geralmente, uma classe pode ter vários métodos de sobrecarga e diferentes métodos de sobrecarga na classe podem ser projetados de acordo com diferentes necessidades. Entre eles, o número de parâmetros, tipos e até a ordem de diferentes tipos de parâmetros são sobrecargas diferentes para o mesmo método. Por exemplo, como mostrado na figura, a classe String que frequentemente vemos é um exemplo típico.
PS Este exemplo também está corrigindo um erro ridículo que cometi quando compartilhei minha experiência da última vez. Verifique o título novamente, significa que está correto, é uma sobrecarga e não está escrito como uma reescrita.
Método/etapa
Primeiro, vamos escrever um exemplo completo. Este é o método mais primitivo, como mostrado na figura. Continuaremos a aprender cada etapa no futuro e recarregar esta camada de método por camada.
1. No início, vamos discutir se o modificador de acesso tem um impacto na discussão de hoje. Ou seja, eles não são condições necessárias para constituir diferentes métodos. Nos termos do leigo, a diferença nos métodos não tem nada a ver com se o modificador de acesso é consistente. Conforme mostrado na figura, se o modificador de acesso for inconsistente e os parâmetros forem iguais (ou nenhum deles possui parâmetros), o Java padrão lhes é o mesmo método, para que a compilação não possa ser passada e um erro é relatado.
2. Depois de excluir modificadores de acesso, vamos discutir se a diferença no valor de retorno pode ser outra maneira de sobrecarga. Tipo.
3. A única diferença a seguir são os parâmetros. Vamos praticar de acordo com situações. O primeiro são parâmetros diferentes.
4. Na terceira etapa, estamos falando de parâmetros diferentes. Como mostrado na figura, os tipos de parâmetros são os mesmos e ambos são tipos inteiros, mas os nomes dos parâmetros formais são diferentes, portanto a compilação não pode ser passada.
5. Além disso, a sobrecarga causada por diferentes parâmetros. Podemos escrever outro exemplo, 1 método sem parâmetros, 1 método de parâmetro int e dois métodos de parâmetro int, como mostrado na figura:
6. Nesse momento, chegamos ao link principal. Existe algum outro tipo de sobrecarga diferente? alguns! Imagine que os parâmetros são diferentes e os números são iguais. Sim! Adivinhou corretamente! A ordem é diferente! Em pedidos diferentes, ainda existem métodos diferentes, que também permitem a sobrecarga. Como mostrado na imagem:
Aqui está outro exemplo simples
int sum (int m, int n) {return m +n;} int sum (int m, int n, int k) {return m +n +k;} soma dupla (m, m, dupla n) {return m + n;} soma dupla (dupla, n, n, dupla k) {return m+n+k;} A principal implementação é a soma do método sobrecarregado, que possui a seguinte semântica:
Sum (m, n): encontre a soma dos números inteiros M e N,
soma (m, n, k): encontre a soma dos números inteiros M, N e K,
soma (m, n): encontre a soma dos números reais M e N,
Sum (m, n, k): encontre a soma dos números reais M, N e K.
Por fim, vamos resumir que a sobrecarga se importa apenas com os parâmetros.