Как я могу объявить поле интерфейса Java, которое реализует класс, должно уточнить это поле?
например
public interface IWorkflow{ public static final String EXAMPLE;// interface field public void reject(); } // and implement class public class AbstWorkflow implements IWorkflow { public static final String EXAMPLE = "ABCD"; /*MUST HAVE*/ public void reject(){} ... }
Спасибо.
Вы не можете.
Кроме того, interface также не может требовать определения методов static в реализации.
interface
static
Лучшее, что вы можете сделать, это:
public interface SomeInterface { public String getExample(); }
См. Раздел 9.3 спецификации .Нет переопределения полей в интерфейсах - они просто скрыты в одних контекстах и неоднозначны в других.Я бы просто держался подальше.Вместо этого поместите геттер в интерфейс (getEXAMPLE ())