在Java中,当一个接口扩展另一个接口时,为什么要在子接口中重新声明一个方法?

表演:

我一直在研究J2EE的JMS API,发现了一个奇怪的行为,其中在接口(例如Session中的createQueue)中声明的某些方法在诸如QueueSession之类的子接口中再次声明,并且具有相同的文档。

因为子接口“继承”了它继承的接口的所有方法声明,并且由于JavaDoc工具没有问题,所以可以对子接口的JavaDoc进行排序并创建“继承的操作”列表,因此我无法弄清楚这将实现什么。

唯一想到的是,最初的调用是在Session中进行的,然后在创建特定的子类时移至QueueSession,尽管那时我希望可以在上层类的文档中看到一些内容。但这只是推测。

因此问题是:是否有令人信服的理由在子接口中重新声明方法?

查理·马丁:

在为Sun工作时偶尔会发生这种情况,我可以告诉您它通常如何发生。有人用一些方法定义了一个接口,比方说爱丽丝。许多开发人员都实现了该接口。

一段时间后,人们意识到他们还需要其他接口(称为Bob),该接口具有Alice方法的子集,以使其能够用作另一个接口Clara 的基础接口

如果将Alice的方法移到Bob中,则会破坏实现Alice的所有代码;您必须返回并至少重新编译一堆代码,其中一些您可能不拥有,并且出于政治原因也无法破解。

所以你不用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Java

Java 8使用一个接口在另一个接口中实现方法

来自分类Dev

一个接口只能扩展一个类或另一个接口

来自分类Java

如何模拟扩展另一个接口的接口

来自分类Java

为什么一个接口不能实现另一个接口?

来自分类Dev

为什么一个接口要实现另一个接口?

来自分类Dev

在另一个接口中声明接口类型的属性

来自分类Dev

一个接口的打字稿键扩展了另一个接口

来自分类Dev

当我们在一个接口中添加两个抽象方法并只实现一个方法时,为什么我们不能使用 lambda 实现另一个方法呢?

来自分类Dev

输入一个 prop 以接受一个接口或另一个接口

来自分类Dev

在函数接口声明中,如何传递另一个函数接口作为参数?

来自分类Dev

如何使一个接口方法返回另一个接口?

来自分类Dev

使用另一个接口从一个接口实现通用方法

来自分类Java

接口扩展了另一个接口,但实现了其方法

来自分类Dev

在TypeScript中从另一个接口的一个接口定义嵌套值?

来自分类Dev

指向组合接口的指针-指向实现一个接口并从另一个接口的实现扩展的类

来自分类Dev

是否可以从“ n”个定义的接口中扩展出来并在TypeScript中创建一个新的子接口?

来自分类Dev

如何验证泛型在Java中扩展了另一个类/接口?

来自分类Dev

关于在另一个接口中实现泛型接口的误解

来自分类Dev

您可以在实现另一个接口的组件的接口中键入字段吗?

来自分类Dev

无法从另一个类调用接口方法

来自分类Dev

从接口访问另一个类中的对象?

来自分类Java

有没有一种方法可以让泛型类型的接口在Java中扩展为另一个泛型类型的接口?

来自分类Dev

如何将Go接口扩展到另一个接口?

来自分类Dev

为由另一个接口扩展的对象定义接口

来自分类Dev

Typescript-接口扩展了带有嵌套属性的另一个接口

来自分类Dev

如何使通用TypeScript接口从另一个通用接口扩展?

来自分类Dev

空接口扩展另一个接口是否具有成本效益?TS

来自分类Dev

验证一个接口满足另一个接口

来自分类Dev

类设计:实现一个接口的类实现另一个接口

Related 相关文章

  1. 1

    Java 8使用一个接口在另一个接口中实现方法

  2. 2

    一个接口只能扩展一个类或另一个接口

  3. 3

    如何模拟扩展另一个接口的接口

  4. 4

    为什么一个接口不能实现另一个接口?

  5. 5

    为什么一个接口要实现另一个接口?

  6. 6

    在另一个接口中声明接口类型的属性

  7. 7

    一个接口的打字稿键扩展了另一个接口

  8. 8

    当我们在一个接口中添加两个抽象方法并只实现一个方法时,为什么我们不能使用 lambda 实现另一个方法呢?

  9. 9

    输入一个 prop 以接受一个接口或另一个接口

  10. 10

    在函数接口声明中,如何传递另一个函数接口作为参数?

  11. 11

    如何使一个接口方法返回另一个接口?

  12. 12

    使用另一个接口从一个接口实现通用方法

  13. 13

    接口扩展了另一个接口,但实现了其方法

  14. 14

    在TypeScript中从另一个接口的一个接口定义嵌套值?

  15. 15

    指向组合接口的指针-指向实现一个接口并从另一个接口的实现扩展的类

  16. 16

    是否可以从“ n”个定义的接口中扩展出来并在TypeScript中创建一个新的子接口?

  17. 17

    如何验证泛型在Java中扩展了另一个类/接口?

  18. 18

    关于在另一个接口中实现泛型接口的误解

  19. 19

    您可以在实现另一个接口的组件的接口中键入字段吗?

  20. 20

    无法从另一个类调用接口方法

  21. 21

    从接口访问另一个类中的对象?

  22. 22

    有没有一种方法可以让泛型类型的接口在Java中扩展为另一个泛型类型的接口?

  23. 23

    如何将Go接口扩展到另一个接口?

  24. 24

    为由另一个接口扩展的对象定义接口

  25. 25

    Typescript-接口扩展了带有嵌套属性的另一个接口

  26. 26

    如何使通用TypeScript接口从另一个通用接口扩展?

  27. 27

    空接口扩展另一个接口是否具有成本效益?TS

  28. 28

    验证一个接口满足另一个接口

  29. 29

    类设计:实现一个接口的类实现另一个接口

热门标签

归档