因为在课堂上我可以做到:
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
答案 0 :(得分:4)
你不能。
据说Java设计者认为没有合适的用例:如果你不想扩展a
,那么你真的应该直接在具体的{{}}中声明这些函数。 {1}}。
也就是说,可以在C ++中实现这一点,就像在这种语言中一样,接口更像是一个约定 - 只包含纯虚函数,你可以强制执行非 - 使用诸如interface
之类的技术扩展。