V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
ukipoi
V2EX  ›  问与答

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

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

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

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

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