Java 重载与多态
时间: 2024-06-17 19:02:41 浏览: 108
Java中的重载和多态是面向对象编程的重要概念。
重载(Overloading)是指在同一个类中定义多个方法,它们具有相同的名称但参数列表不同。通过重载,可以根据不同的参数类型和个数来调用不同的方法。重载可以提高代码的复用性和可读性。
多态(Polymorphism)是指同一个方法名可以在不同的类中具有不同的实现。多态通过继承和方法重写来实现。在多态中,父类的引用可以指向子类的对象,通过父类引用调用同名方法时,会根据实际对象的类型来确定调用哪个子类的方法。
下面是Java中重载和多态的示例代码:
1. 重载示例[^1]:
```java
public class Calculator {
public int add(int a, int b) {
return a + b;
}
public double add(double a, double b) {
return a + b;
}
}
// 调用示例
Calculator calculator = new Calculator();
int result1 = calculator.add(1, 2); // 调用int类型参数的add方法
double result2 = calculator.add(1.5, 2.5); // 调用double类型参数的add方法
```
2. 多态示例[^2]:
```java
public class Animal {
public void sound() {
System.out.println("动物发出声音");
}
}
public class Cat extends Animal {
@Override
public void sound() {
System.out.println("猫发出喵喵的声音");
}
}
public class Dog extends Animal {
@Override
public void sound() {
System.out.println("狗发出汪汪的声音");
}
}
// 调用示例
Animal animal1 = new Cat(); // 父类引用指向子类对象
Animal animal2 = new Dog(); // 父类引用指向子类对象
animal1.sound(); // 调用子类Cat的sound方法
animal2.sound(); // 调用子类Dog的sound方法
```
阅读全文