jdk8针对接口不容易扩展的现象,对接口新增了default和static方法,使之前的接口更加灵活便于修改并向前兼容;
jdk8之前接口里的方法只能是public abstract的(即使不指定修饰符也是默认成public abstract的),字段只能是public static final的(不指定默认);
之前的接口,定义好的接口不易扩展,如果要新加方法,所有实现的类都需要实现该接口的方法,扩展接口就会很麻烦,jdk8新增了default方法和static方法来解决这种问题;
jdk8的接口可以这样定义和使用了:
实现类对于接口的default方法可以不用实现,也可以直接调用接口的default方法,也可以按需求重写default方法:
接口的static方法跟普通类一样,可以直接调用;