JAVA interface 中的default 方法

在Java中,接口是一种规范,用于定义类应该实现的方法。在Java 8中,引入了default方法(也称为默认方法或扩展方法),允许在接口中定义具有默认实现的方法。

default方法是在接口中声明的方法,但它具有一个默认的实现。这意味着如果一个类实现了该接口但不实现default方法,它将使用接口中的默认实现。这使得我们可以向接口中添加新的方法,而不破坏已有的实现类。

默认方法可以使用关键字default声明,并且必须提供一个默认的实现。例如:
 

public interface MyInterface {
    void myMethod();

    default void myDefaultMethod() {
        System.out.println("This is a default method.");
    }
}

在上面的例子中,接口`MyInterface`定义了一个抽象方法`myMethod`,以及一个默认方法`myDefaultMethod`。实现该接口的类可以选择实现`myMethod`方法,但是默认会继承接口中的`myDefaultMethod`方法。

使用default方法的主要好处是可以向已有的接口添加新的方法,而不需要改变已有的实现类。这样可以确保与现有代码的向后兼容性。

注意,接口中的default方法是可以被实现类覆盖的。如果一个类实现了多个接口,而这些接口有相同的默认方法,那么实现类必须覆盖这个默认方法,提供自己的实现。

public interface MyInterface1 {
    default void myMethod() {
        System.out.println("This is a default method from MyInterface1.");
    }
}

public interface MyInterface2 {
    default void myMethod() {
        System.out.println("This is a default method from MyInterface2.");
    }
}

public class MyClass implements MyInterface1, MyInterface2 {
    @Override
    public void myMethod() {
        System.out.println("This is my own implementation.");
    }
}

在上面的例子中,`MyClass`类实现了`MyInterface1`和`MyInterface2`接口,并覆盖了它们的默认方法`myMethod`。当调用`myMethod`时,会输出`This is my own implementation.`。

总结:default方法是在接口中声明的方法,具有默认的实现。它可以为接口添加新的方法而不破坏已有的实现类,同时允许实现类覆盖默认方法提供自己的实现。

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值