阻止要扩展的接口

时间:2016-08-25 09:26:55

标签: java inheritance interface

因为在课堂上我可以做到:

public final class Foo{}

这意味着没有更多的课程可以扩展Foo课程......例如String类是final,因此没有自定义类可以扩展类String

如何阻止对界面执行相同的操作?

如果我这样做

public interface ISome{
    void fly();
}

我想允许

class A implements ISome {}

但阻止

public interface IHouse extends ISome{
    void fly();
}

这样做

public final interface ISome{}

毫无意义......并且会带来编译错误,如:

Illegal modifier for the interface

1 个答案:

答案 0 :(得分:4)

你不能。

据说Java设计者认为没有合适的用例:如果你不想扩展a,那么你真的应该直接在具体的{{}}中声明这些函数。 {1}}。

也就是说,可以在C ++中实现这一点,就像在这种语言中一样,接口更像是一个约定 - 只包含纯虚函数,你可以强制执行非 - 使用诸如interface之类的技术扩展。