默认方法是JDK8新特性,指的是接口也可以提供具体方法了,而不像以前,只能提供抽象方法。
假设没有默认方法这种机制,那么如果要为接口增加一个新的方法,那么所有实现了该接口的类,都需要重写这个方法。
但是引入了默认方法后,原来的类,不需要做任何改动,并且还能得到这个默认方法
通过这种手段,就能够很好的扩展新的类,并且做到不影响原来的类。
这和为什么实际Web开发多使用接口也是一样,都是为了满足对修改封闭,对扩展开放的原则。
不过这样对于代码洁癖的人来说代码变得更加松散。
现代软件开发大多改动都是为了满足里氏原则。
有兴趣的同学可以看看这篇文章。