【问题标题】:How to distinguish interface extension如何区分接口扩展
【发布时间】:2016-04-14 07:35:57
【问题描述】:

我正在阅读 Java 编程简介这本书。关于接口和抽象类,有图:

Class1 实现 Interface1 ;接口 1 扩展接口 1_1 和 Interface1_2 。 Class2 扩展 Class1 并实现 Interface2_1 和 接口2_2。

如上所示,并没有说 Interface2_1 明确地扩展了 interface1。但在图中,它确实显示了这种关系。只是一个错误还是可以推导出这个扩展关系?

编辑======================================== =============================

在书中,条件是:

Class1 实现 Interface1 ;接口 1 扩展接口 1_1 和 Interface1_2 。 Class2 扩展 Class1 并实现 Interface2_1 和 接口2_2。

但它给出了上面的图表。该条件未显示 Interface2_1 扩展了 Interface1。但图表显示了这一点。我的意思是图表错了?还是可以根据条件推断出外延关系?

【问题讨论】:

  • 您在理解interfaceinheritence 的概念时遇到任何问题吗?任何与 OOPS 概念相关的具体问题? Class1 还扩展了 Object 类,但它在 Java 中隐含的任何地方都没有维护。每个类默认扩展 Object 类。
  • 是的。我想知道classA是否实现了interface1。 classB 是 classA 的子类。 classB 实现 interface2。说interface2必须是interface1的子接口是否正确?因为图表显示了这一点。不知道是不是那本书的错误。
  • 很可能被忽略了。您可以向作者提出更正建议。
  • 您的意思是“class1”和“class2”而不是“classA”和“classB”吗?否则,我不确定您指的是哪些类。
  • 谢谢!我是Java的新手。也许我错了,而不是作者。

标签: java interface


【解决方案1】:

看文字说明

Class1 实现 Interface1 ;

Interface1 扩展了 Interface1_1 和 Interface1_2。

Class2 扩展 Class1 并实现 Interface2_1 和 Interface2_2。

Interface2_1Interface1 之间的线不应该存在。它甚至不是隐含的,因为您可以实现Class3 implements Interface2_1,这与提到的所有其他接口完全无关。

Class2 实现了Interface1Interface1_1Interface1_2,因为它扩展了Class1

【讨论】:

    猜你喜欢
    • 2012-09-01
    • 2022-01-14
    • 2018-08-22
    • 1970-01-01
    • 2021-03-16
    • 2015-08-09
    • 2020-09-28
    • 1970-01-01
    相关资源
    最近更新 更多