主要是为了扩展。
如代码:
public interface Person {
void eat();
public static void main(String[] args) {
Person person=()-> System.out.println("eat meat");
person.eat();
}
}
现在我想添加一个不被实现的方法.
如果有方法体,接口中是不允许的。 会报错:
Interface abstract methods cannot have body
– 接口中的抽象方法不能有方法体
default关键字就是为了解决这个问题。 意思是这个方法是默认的方法,可以不被实现。
最终代码如下:
public interface Person {
void eat();
default void drink(){
System.out.println("drink water");
};
public static void main(String[] args) {
Person person=()-> System.out.println("eat meat");
person.eat();
person.drink();
}
}