首页 > 图灵资讯 > 技术篇>正文

Java函数重载在继承中的应用

2024-09-29 20:31:50

在java中,函数重载允许类中存在同名异参,而继承中重载父类的方法既不覆盖原有方法,也不提供同名异参。例如,子类circle继承父类shape的draw()方法重载了该方法,并提供了具有半径参数的draw()方法。这样,circle不仅可以绘制无参形状,还可以绘制带参圆形。

Java函数重载在继承中的应用

Java 函数重载应用于继承

Java 函数重载是指一个类中可以有多种名称相同但参数不同的方法。当子类继承父类时,子类可以重写父类的方法,但也可以重写父类的方法。重载父类的方法不同于重写父类的方法。重载法不会覆盖父类的方法,而是提供一种名称相同但参数不同的方法。

实战案例

立即学习"Java免费学习笔记(深入);

假设我们有一个父类 Shape,它有一个名字 draw() 绘制形状的方法。现在,我们创造了一个子类 Circle,它继承自 Shape。Circle 类别也需要一个 draw() 画圆的方法。但是,Circle 的 draw() 该方法需要半径参数, Shape 的 draw() 该方法不需要参数。

代码示例

// Shape 类
class Shape {
    public void draw() {
        System.out.println("Drawing a shape.");
    }
}

// Circle 类
class Circle extends Shape {
    @Override
    public void draw() {
        super.draw();  // 调用父类的 draw() 方法
        System.out.println("Drawing a circle.");
    }

    public void draw(double radius) {
        System.out.println("Drawing a circle with radius: " + radius);
    }
}

这个例子中,Circle 类重载父类 Shape 的 draw() 方法。首先 draw() 该方法没有参数,调用父类 draw() 绘制一个形状的方法。第二个 draw() 该方法接受专门用于绘制圆的半径参数。

我们可以在 Main 类中创建 Circle 对象并调用这两个 draw() 方法:

public class Main {
    public static void main(String[] args) {
        Circle circle = new Circle();
        circle.draw();   // 无参数调用 draw() 方法
        circle.draw(5.0);  // 用半径参数调用 draw() 方法
    }
}

输出结果:

Drawing a shape.
Drawing a circle with radius: 5.0

以上是Java函数重载在继承中的应用的详细内容。请关注图灵教育的其他相关文章!

上一篇 面向方面编程如何增强Java函数的可复用性
下一篇 返回列表

文章素材均来源于网络,如有侵权,请联系管理员删除。