• Ryn
    2019-07-31
    java8 出来的default方法具体的用处是什么?如果说仅仅是为了公共代码抽取,那抽象类是不是也可以做这个事情?拥有default的接口类跟抽象类的本质区别是什么?或者说是不是在某种程度上,接口可以取代抽象类了。

    作者回复: Q:如果说仅仅是为了公共代码抽取,那抽象类是不是也可以做这个事情?
    A:可以,但是一个类只能继承一个父类,却可以实现多个接口。这就是区别/用途

    Q:拥有default的接口类跟抽象类的本质区别是什么?或者说是不是在某种程度上,接口可以取代抽象类了。
    A:我在视频中应该提到过。本质是interface不能有成员被变量。这一杠子横在那里,实现多个接口就和传统的多继承有了本质区别。可以说是取其精华,去其糟粕(繁琐复杂)。如果default方法不使用任何局部变量,那么就可以取代抽象类。反之,还是得用抽象类。

    
     1
  • 美美
    2019-08-26
    运行UseInterface时,IDE报错“java:此处不允许使用修饰符private",网上查询到资料显示只有java9才支持private私有方法,
    老师,怎么查看哪个java版本支持什么方法呢?

    作者回复:
    简单来说, 都是JSR推进的. 这里有位有心人的总结

    https://howtodoinjava.com/java-version-wise-features-history/

     2
    
我们在线,来聊聊吧