java - 拒绝覆盖扩展接口(interface)的字段

标签 java

例如我有下一个界面:

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

我想做一些可以汇编像 A 这样的接口(interface)的事情。但我不希望我的汇编器接口(interface)可以覆盖其父接口(interface)的成员,例如:

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

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

谢谢!

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

最佳答案

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

每当您需要重写时,您就需要实例方法。根据您的情况,引入一个返回正确字符串值的方法。但是,您将无法在接口(interface)中实现它。

关于java - 拒绝覆盖扩展接口(interface)的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13802711/

相关文章:

java - 在单个类中连接到两个不同的数据库

java - 使用 Java 向 Google Elevation API 发送请求

java - 如果语句会抛出异常,则停止的断点

java - 从 whatsapp 获取邮件 Intent

JAVA添加总计

java - ClassCastException:接口(interface) akka.actor.Scheduler 不能从类 akka.actor.LightArrayRevolverScheduler 分配

java - 同时阅读但锁定编辑

java - 如何在 Android 中处理长按

java - 用于java的斯坦福nlp api : how to get the name as full not in parts

java - Hibernate 注释 referencedcolumnname 不起作用,referencedcolumnname 自动分配给另一个实体的主键