2020-04-15 |

多态性

多态性指的是“有多种形式”的概念,它发生在通过继承相互关联的类的层次结构中。

对成员方法的调用将导致执行不同的实现,具体取决于调用该方法的对象的类型。

下面是一个例子:Dog和Cat是从Animal类继承的类。每个类都有自己的makeSound()方法实现。

class Animal {
    public void makeSound() {
        System.out.println("Grr...");
    }
}
class Cat extends Animal {
    public void makeSound() {
        System.out.println("Meow");
    }
}
class Dog extends Animal {
    public void makeSound() {
        System.out.println("Woof");
    }
}

由于所有猫和狗的物体都是动物物体,我们主要可以做以下工作:

public static void main(String[ ] args) {
    Animal a = new Dog();
    Animal b = new Cat();
}

我们创建了两个动物类型的参考变量,并将它们指向猫和狗对象。

现在,我们可以调用makeSound()方法。

a.makeSound();
// 输出 "Woof"

b.makeSound();
// 输出 "Meow"

由于引用变量a包含Dog对象,因此将调用Dog类的makeSound()方法。 这同样适用于b变量。

这说明您可以使用Animal变量,而不必实际知道它包含子类的对象。 当您拥有超类的多个子类时,这非常有用。

0

发表评论

    评价:
    验证码: 点击我更换图片
    最新评论