首页 >Java >java教程 >Java 中的多态性如何通过继承和方法重写发挥作用?

Java 中的多态性如何通过继承和方法重写发挥作用?

Barbara Streisand
Barbara Streisand原创
2024-12-18 21:23:11878浏览

How Does Polymorphism Work in Java Through Inheritance and Method Overriding?

Java 中的多态、重写和重载

定义多态

讨论多态时Java,无论是重载还是重写都完全封装了它的本质。多态性最好通过抽象基类或接口来理解。

抽象基类和多态性

考虑一个带有抽象方法 goPee() 的抽象基类 Human,定义一个人类无法完全实现这一概念,直到在其子类中实例化,例如 Male 和Female.

public abstract class Human {
    ...
    public abstract void goPee();
}

在子类中重写

Male 和 Female 等子类根据其具体特征实现 goPee() 方法:

public class Male extends Human {
    ...
    @Override // Annotation indicating override
    public void goPee() {
        System.out.println("Stand Up");
    }
}
public class Female extends Human {
    ...
    @Override // Annotation indicating override
    public void goPee() {
        System.out.println("Sit Down");
    }
}

多态行为

通过此设置,Human 对象数组可以包含 Male 和 Female 实例。当对所有人类调用 goPee() 时,会执行特定于每个子类的重写方法,展示多态行为:

public static void main(String[] args) {
    ArrayList<Human> group = new ArrayList<>();
    group.add(new Male());
    group.add(new Female());

    // Polymorphism: Execute overridden goPee() in each subclass
    for (Human person : group) person.goPee();
}

结论

多态性通过以下能力体现不同类的对象对同一方法调用的响应不同。它利用继承和方法重写来实现这种灵活性。

以上是Java 中的多态性如何通过继承和方法重写发挥作用?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn