Continue criando e acelere o crescimento! Este é o 17º dia que participo do "Nuggets Daily New Plan·October Update Challenge", clique para ver os detalhes do evento
Sobrecarga de método
Se houver dois métodos com o mesmo nome, mas listas de parâmetros inconsistentes, você pode dizer que um método é uma sobrecarga do outro método. Os requisitos para sobrecarga de método são os seguintes: - O nome do método é o mesmo - O tipo de parâmetro, número e ordem do método são diferentes, desde que um deles seja diferente - O tipo de retorno do método pode ser diferente ou o mesmo - Os modificadores do método podem ser diferentes
Por exemplo: java //定义了3个print方法,他们只是有传参的区别,所有属于方法重载 public class Father{ public void print(){ System.out.println("无参数打印方法"); } public void print(int x,String y){ System.out.println("整型在前参数方法"); } public void print(String y,int x){ System.out.println("字符串类型在前的有参数方法"); } }
Nota: Se o nome do parâmetro passado não for igual ao nome do parâmetro do método anterior, um erro será reportado e não pertence à sobrecarga do método.
Polimorfismo
Existe um princípio na orientação a objetos: onde a classe pai aparece, a subclasse deve aparecer. Mas o inverso não é necessariamente verdadeiro. O polimorfismo é uma manifestação específica deste princípio. Por exemplo: quando uma classe pai possui muitas subclasses, e essas subclasses apresentam comportamentos diferentes ao chamar o mesmo método, esse fenômeno é chamado de polimorfismo.
Nota: O polimorfismo bloqueia os métodos da classe pai. Se você precisar chamar um método da classe pai, precisará usar a palavra-chave super para chamar um método da classe pai. Se um método da classe pai não for herdado, você poderá adicionar a palavra-chave final na frente do método.
Exemplo de código:
```java //Defina a classe pai - animal public classes Animal{ public void cry(){ System.out.println("Animais podem chorar"); } public void eatFood(){ System.out.println("Animais podem chorar"); } public void eatFood(){ System.out.println("Animais podem chorar Vai comer"); } public final void func(){ System.out.println("Animal: Chama o método func()"); } }
//Definir subclasses de cães e gatos public class cat extends Animal{ public void cry(){ System.out.println("Gatos podem miar"); } public void eatFood(){ System.out.println("Gatos podem comer peixe"); } public class dog extends Animal{ public void cry(){ System.out.println("O cachorro pode latir"); } public void eatFood(){ System.out.println("O cachorro pode comer shi "); } } ``` Ambas as subclasses sobrecarregam os métodos cry() e eatFood() da classe animal, mas sons diferentes aparecem após chamar o método cry...