Falando em sobrecarga e substituição em Java, todos estão familiarizados com isso, mas vou escrever isso hoje.
Tópico deste artigo:
1. O que está sobrecarregando
2. O que é cobertura
3. A diferença entre os dois
Sobrecarga:
Em uma classe, se duas ou mais funções de mesmo nome aparecerem, desde que o número de parâmetros ou os tipos de parâmetros forem diferentes, ela pode ser chamada de sobrecarga da função.
Ou seja, quando a função tem o mesmo nome, observe apenas a lista de parâmetros. Não tem nada a ver com o tipo de valor de retorno.
Preste atenção ao usar sobrecarga:
1. Ao usar a sobrecarga, você só pode passar diferentes estilos de parâmetros. Por exemplo, diferentes tipos de parâmetros, número de parâmetros diferentes e ordem de parâmetro diferente.
2. O tipo de exceção e o número de métodos não afetarão a sobrecarga.
3. Para a classe pai, a classe infantil pode sobrecarregar um método com o mesmo nome que o método de herança na classe pai. Se um método tiver permissão de acesso na classe pai e for Priavte, ele não poderá ser sobrecarregado na classe infantil. Se for definido, ele definirá apenas um novo método e não alcançará o efeito da sobrecarga.
Substituir:
Quando exatamente o mesmo método aparece na classe dos pais filhos, a criação de um objeto de subclasse executará os métodos na subclasse. Parece que o método da classe pai é substituído. Portanto, essa situação é outra característica da função: substituição.
Quando usar a cobertura?
Quando uma classe infantil herda a classe dos pais, o conteúdo funcional da classe pai precisa ser modificado, ela pode ser implementada por meio de substituições
Ao cobrir o método, preste atenção a dois pontos:
1. Quando uma subclasse substitui a classe pai, é necessário garantir que as permissões do método da subclasse sejam maiores ou iguais às permissões do método da classe pai para obter herança. Caso contrário, a compilação falha.
2. Quando cobertos, eles são estáticos ou não são estáticos. (Estática só pode cobrir estática ou ser coberta por estática) Sim
3. O método final modificado é um método final e não pode ser substituído.
4. Quando uma classe infantil substitui o método da classe pai, ele só pode lançar menos exceções do que a classe pai ou jogar exceções filhos da exceção lançada pela classe pai, porque a classe infantil pode resolver alguns problemas da classe pai e não pode ter mais problemas do que a classe pai.
Diferenças entre sobrecarga e substituição:
1. A substituição de um método é a relação entre a subclasse e a classe pai, que é um relacionamento vertical; A sobrecarga de um método é a relação entre os métodos na mesma classe, que é uma relação horizontal.
2. A substituição só pode ser causada por um método, ou apenas por um par de métodos; A sobrecarga de um método é a relação entre vários métodos.
3. A lista de parâmetros de requisitos de cobertura é a mesma; A lista de parâmetros de requisitos de sobrecarga é diferente.
4. No relacionamento de substituição, o corpo do método é chamado com base no tipo de objeto; O relacionamento de sobrecarga é selecionado com base na tabela de parâmetros reais e na tabela de parâmetros formais no momento da chamada.
O exposto acima é o entendimento profundo da sobrecarga e cobertura de Java trazida a você pelo editor. Espero que todos possam apoiar mais wulin.com ~