//JDK 1.8以后,方法可以有方法体,要加上default
//1.8以后可以有静态方法
public interface Drawable {
int a = 10;
void draw(int i);
default void method(){
System.out.println("default修饰");
}
static void d(){
System.out.println("static修饰");
}
}
如果一个类实现两个接口,这两个接口同时有相同的抽象方法,在类中只需要重写一次这个方法。
如果接口中有default修饰的方法不需要重写。
如果两个接口里的方法名相同都是default方法,里面的方法体不同,在类中需要重写该方法。
如果两个接口中方法名,参数都相同的方法,一个接口是抽象方法,另一个是default修饰有方法体。这是该类也必须重写该方法。
. //JDK1.8以后的lamdba语法,只能实现单方法的接口。
Drawable drew = (i) ->{
System.out.println("lambda " + i);
};
drew.draw(5);//调用接口里的方法