新增默认方法原因
假设我们存在一个很久之前写好的接口,后面因为业务原因需要修改接口。
java8之前,在一个接口中添加一个抽象方法,那所有的接口实现类都需要去实现这个方法,否则会编译出错。就算某些实现类不需要这个方法,也需要实现一个空方法。如果该接口的实现类特别多,改动会非常大。
接口实现默认方法就是为了解决这个问题,只要在一个接口中添加了默认方法,所有的实现类就自动继承,不需要改动任何实现类,也不会影响业务。
新增静态方法原因
接口静态方法和默认方法类似,只是接口静态方法不可以被接口接口实现类重写。
接口静态方法可以直接通过接口.静态方法名调用