jdk的default关键字
default关键字
jdk1.8之前如果我们对某个接口的抽象方法修改就需要对所有的实现类进行修改,再不济想到的办法就是增加接口方法但是同样都需要修改其实现类,这样大大的增加了我们重构成本。jdk1.8增加了default的关键字,它修饰的接口方法允许它有方法体同时它的实现类可以不是实现其方法。
public interface DefaultKeywords {
default void test(){
System.out.println("DefaultKeywords-default");
}
}
public class DefaultKeywordsImpl implements DefaultKeywords{
}
public static void main(String[] args) {
DefaultKeywords defaultKeywords = new DefaultKeywordsImpl();
defaultKeywords.test();
}
如果某类实现的两个接口拥有同名同参数方法怎么办
重写该同名同参数接口
执行顺序
实例化类执行方法时优先类的重写方法然后接口的default方法