0
点赞
收藏
分享

微信扫一扫

java8 default方法


主要是为了扩展。
如代码:

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();
}
}


举报

相关推荐

0 条评论