接口可以拥有方法体早有耳闻,但一直没有使用过,今天偶尔看到接口可以多继承,顺便想起了这个java8关于接口的新特性
看代码:
package com.xvl.test;
public interface demo {
void eat(String name);
default void sleep(String name){
System.out.println(name+" is sleeping...");
}
}
package com.xvl.test;
public class test implements demo{
@Override
public void eat(String name) {
System.out.println(name+" is eating...");
}
public static void main(String[] args) {
new test().eat("gely");
new test().sleep("lisa");
}
}
运行结果
gely is eating...
lisa is sleeping...
接口也可以有静态方法
static void shout(){
system.Out.println("AAAA");
}
就是这么简单,,default关键字定义的方法必须有方法体,实现类就默认拥有该方法,当然这个默认的方法也可以重写。
如果实现了两个接口,两个接口里有同名的方法
那子类就必须重写这个重名的方法。