PDF 课件和源代码下载地址:
https://github.com/geektime-geekbang/LetsJava
作者回复: Q:如果说仅仅是为了公共代码抽取,那抽象类是不是也可以做这个事情?
A:可以,但是一个类只能继承一个父类,却可以实现多个接口。这就是区别/用途
Q:拥有default的接口类跟抽象类的本质区别是什么?或者说是不是在某种程度上,接口可以取代抽象类了。
A:我在视频中应该提到过。本质是interface不能有成员被变量。这一杠子横在那里,实现多个接口就和传统的多继承有了本质区别。可以说是取其精华,去其糟粕(繁琐复杂)。如果default方法不使用任何局部变量,那么就可以取代抽象类。反之,还是得用抽象类。
作者回复:
简单来说, 都是JSR推进的. 这里有位有心人的总结
https://howtodoinjava.com/java-version-wise-features-history/