Java8中的default方法

时间:2023-03-09 19:10:46
Java8中的default方法

default方法

Java 8中引入了一个新的概念,叫做default方法,也可以称为Defender方法,或者虚拟扩展方法(Virtual extension methods)。

Default方法是指,在接口内部包含了一些默认的方法实现(也就是接口中可以包含方法体,这打破了Java之前版本对接口的语法限制),从而使得接口在进行扩展的时候,不会破坏与接口相关的实现类代码。

public interface SimpleInterface {
public void doSomeWork(); //A default method in the interface created using "default" keyword
//使用default关键字创在interface中直接创建一个default方法,该方法包含了具体的实现代码
default public void doSomeOtherWork(){
System.out.println("DoSomeOtherWork implementation in the interface");
}

注意

如果一个类实现了两个接口(可以看做是“多继承”),这两个接口又同时都包含了一个名字相同的default方法,在这样的情况下,编译器会报错。

参考这里