Java 中使用多态方法283


多态是一种面向对象编程特性,它允许不同的对象对同一方法调用具有不同的行为。在 Java 中,多态通过继承和重写实现。

继承

继承是一种将一个类(子类)与另一个类(父类)关联的过程,子类继承父类的属性和方法。当子类重写父类的方法时,就会发生多态。

例如,考虑一个动物类层次结构,其中包含动物父类和猫和狗子类:
```java
class Animal {
public void speak() {
("Animal speaks");
}
}
class Cat extends Animal {
@Override
public void speak() {
("Cat meows");
}
}
class Dog extends Animal {
@Override
public void speak() {
("Dog barks");
}
}
```

当我们调用子类对象的 speak() 方法时,实际调用的方法取决于对象的实际类型,即使它们都声明为 Animal 引用。

方法重写

方法重写是子类实现父类方法的自己的版本。重写的方法必须具有与父类方法相同的名称、返回类型和参数列表。

通过重写,子类可以修改父类方法的行为。例如,我们可以为 Animal 类添加一个 eat() 方法:```java
class Animal {
public void speak() {
("Animal speaks");
}
public void eat() {
("Animal eats");
}
}
```

子类可以使用相同的方法签名重写 eat() 方法:```java
class Cat extends Animal {
@Override
public void eat() {
("Cat eats cat food");
}
}
class Dog extends Animal {
@Override
public void eat() {
("Dog eats dog food");
}
}
```

现在,当我们调用猫或狗对象的 eat() 方法时,将打印特定的食物信息,即使它们都声明为 Animal 引用。

多态的优点

多态提供了许多优点,包括:* 代码可重用性: 共享公共接口的类可以互换使用。
* 松散耦合: 使用多态的代码依赖抽象类或接口,而不是具体的实现。
* 可扩展性: 可以在不影响现有代码的情况下添加新的子类。
* 多层继承: 对象可以继承多个父类的方法,实现更复杂的行为。

示例

以下示例演示了如何在 Java 中使用多态:```java
List animals = new ArrayList();
(new Cat());
(new Dog());
for (Animal animal : animals) {
();
();
}
```

输出:```
Cat meows
Cat eats cat food
Dog barks
Dog eats dog food
```

多态是 Java 中一个强大的工具,它允许不同的对象对同一方法调用具有不同的行为。通过继承和重写,您可以创建灵活且可重用的代码,从而提高应用程序的可扩展性和可维护性。

2024-10-24


上一篇:用 Java 二维数组实现杨辉三角

下一篇:Java 对象与字符串:深入理解