0

例如我有下一个界面:

public Interface A {
    String CONST = "someText";
}

我想做一些可以组装像 A 这样的接口的事情。但我不希望我的 assembler-interface 可以覆盖其父接口的成员,例如:

public Interface Assembler {
    String CONST = "someText"; // there isn't any error
}

你能提出任何解决方案吗?

谢谢!

编辑:如何拒绝从父界面重叠字段?(当我在子界面中使用同名字段时,编译器会向我显示一些错误)

4

1 回答 1

5

您永远不能覆盖字段,无论是static(如您的情况)还是实例字段。您所能做的就是隐藏它们,但这只是一个命名空间问题;所有字段都将可用,只是可能通过类型名称的显式限定。

无论何时需要覆盖,都需要实例方法。在您的情况下,引入一个返回正确字符串值的方法。但是,您将无法在接口中实现它。

于 2012-12-10T14:19:13.037 回答