ukipoi
V2EX  ›  问与答

Java8 接口可以提供默认实现了。那么接口可以相当于继承吗?

  •  
  •   ukipoi · Jun 24, 2019 · 2694 views
    This topic created in 2691 days ago, the information mentioned may be changed or developed.

    现在再看《 Head First 设计模式》
    把继承改成默认实现的接口,是否满足 少用继承 的原则?
    我觉得默认实现的接口和继承好像没什么区别。

    4 replies  •  2019-06-24 20:05:26 +08:00
    npdpx
    npdpx
    Jun 24, 2019
    1
    主要是为了解决接口升级的问题。
    auin
    auin
    Jun 24, 2019
    2
    这样不就可以有多重继承了吗?

    不过 Java 经历了这么多,一开始的设计者和现在的早已毫无关系,好用易用就行
    SoloCompany
    SoloCompany
    Jun 24, 2019
    3
    默认接口只能定义 method 不能定义 field,这一点上和多继承不能等同
    Leammin
    Leammin
    Jun 24, 2019 via Android
    4
    接口没有 field,所以不跟"少用继承"冲突。"少用继承"主要是因为继承破坏了类的封装性,而接口没有 field,因此不存在破坏封装性的情况。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1659 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 17:32 · PVG 01:32 · LAX 09:32 · JFK 12:32
    ♥ Do have faith in what you're doing.