如何在Java中定义默认方法

java 中,默认方法允许在接口中定义实现,无需显式实现。这可用于向现有接口添加新方法,而无需破坏现有实现。语法是:default () { // 方法体 }。默认方法可用于向现有接口添加新的行为,而无需强制实现所有现有实现。

如何在Java中定义默认方法

Java中定义默认方法

默认方法提供了在接口中定义实现的选项,无需显式实现。这在需要向现有接口添加新方法时很有用,而无需破坏现有实现。

语法

接口中默认方法的语法如下:

default <return-type> <method-name>(<parameters>) {
    // 方法体
}

示例

让我们创建一个Shape接口,定义一个draw()方法。

public interface Shape {
    void draw();
}

现在,假设我们想要向Shape接口添加一个新的getArea()方法。我们可以使用默认方法来实现该方法,如下所示:

public interface Shape {
    void draw();
    
    default double getArea() {
        return 0.0;
    }
}

实现了Shape接口的类现在可以显式覆盖getArea()方法,也可以使用默认实现。

实战案例

假设我们有一个Rectangle类,它实现了Shape接口。我们需要在Rectangle类中覆盖draw()方法并使用Shape接口的getArea()默认方法来计算矩形的面积。

public class Rectangle implements Shape {

    private double length;
    private double width;
    
    public Rectangle(double length, double width) {
        this.length = length;
        this.width = width;
    }

    @Override
    public void draw() {
        // 绘制矩形
    }
    
    @Override
    public double getArea() {
        return length * width;
    }
}

通过使用默认方法,我们能够向Shape接口添加新的行为,而无需强制实现所有现有实现。

以上就是如何在Java中定义默认方法的详细内容,更多请关注其它相关文章!