当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《在Java中,当一个接口扩展另一个接口时,为什么要在子接口中重新声明一个方法?》经验,为你挑选了1个好方法。

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

由于子接口"继承"它继承的接口的所有方法声明,并且由于JavaDoc工具在排序子接口的JavaDocs并创建"继承的操作"列表时没有问题,因此我无法弄清楚它实现了什么.

唯一的想法是,最初调用是在Session中,然后在创建特定子类时移动到QueueSession,尽管那时我希望在大写的文档中看到一些东西.但这只是猜想.

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



1> Charlie Mart..:

在为Sun工作时偶尔看到这种情况,我可以告诉你它是如何发生的.有人用一些方法定义了一个接口,比如Alice.许多开发人员实现该接口.

一段时间后,它意识到他们需要一些其他接口,称之为Bob,它有Alice的一部分方法,以便允许它作为另一个接口的基本接口,Clara.

如果将Alice的方法移动到Bob中,则会破坏实现Alice的所有代码; 你必须回去并至少重新编译一大堆你可能不拥有的代码,并且出于政治原因不能破解.

所以你没有.

推荐阅读
农大军乐团_697
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有