美文网首页
举一个Java中的多态的例子

举一个Java中的多态的例子

作者: JAVA加油 | 来源:发表于2023-07-02 09:00 被阅读0次

    举一个Java中的多态的例子。

    以下是一个Java中的多态的例子,假设有一个Shape类和两个子类Circle和Rectangle:

    public abstract class Shape {    public abstract double area();}public class Circle extends Shape {    private double radius;    public Circle(double radius) {        this.radius = radius;}    @Override    public double area() {        return Math.PI * radius * radius;}}public class Rectangle extends Shape {    private double width;    private double height;    public Rectangle(double width, double height) {        this.width = width;        this.height = height;}    @Override    public double area() {        return width * height;}}

    在主函数中,我们可以创建Shape类型的数组,并分别向其中添加Circle和Rectangle对象:

    public static void main(String[] args) {    Shape[] shapes = new Shape[2];    shapes[0] = new Circle(5);    shapes[1] = new Rectangle(3, 4);    for (Shape shape : shapes) {        System.out.println("Area of " + shape.getClass().getSimpleName() + " is " + shape.area());}}

    通过这个例子,我们可以看到Shape类定义了一个抽象方法area(),Circle类和Rectangle类分别重写了这个方法。在主函数中,我们创建了Shape类型的数组,并分别向其中添加Circle和Rectangle对象。在遍历数组时,我们调用了每个对象的area()方法,实际上执行的是子类中重写后的area()方法,这就是多态的体现。因为我们不知道数组中的元素到底是Circle对象还是Rectangle对象,所以需要在运行时动态地确定调用哪个方法,这就是运行时多态性或动态多态性。

    相关文章

      网友评论

          本文标题:举一个Java中的多态的例子

          本文链接:https://www.haomeiwen.com/subject/wtfgydtx.html