在Java中,有没有办法阻止扩展接口。
由于final
无法添加到interface
,因此我很想知道是否有办法,以防止扩展接口。
答案 0 :(得分:3)
这里的问题是一个概念问题。接口意味着扩展,因为它们不能按原样使用。
您可以做的是将界面放在包中并为其提供默认可见性。只有那个包中的类才能实现该接口。
但是使用该解决方案,您也无法在该软件包之外使用该接口,因此这不是真正的解决方案。
答案 1 :(得分:2)
无法阻止扩展界面。
您可以检测是否有人在运行时使用反射扩展了您的界面。
答案 2 :(得分:0)
这与先前提出的问题非常相似 - final interface in java。
我给了两个答案。
此外,您可以将接口放在类中,为其提供私有访问修饰符,并确保该类文件中没有任何接口扩展它。