如何声明实现类的java接口字段应该优化该字段

ngu*_*yên 9 java interface

如何声明实现类的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(){}
...
}
Run Code Online (Sandbox Code Playgroud)

谢谢.

Boh*_*ian 12

你不能.

此外,interface还不能要求static在实现上定义方法.

你能做的最好的就是:

public interface SomeInterface {
    public String getExample();
}
Run Code Online (Sandbox Code Playgroud)


Ed *_*aub 4

参见规范第 9.3 节。接口中的字段不会被覆盖 - 它们只是隐藏在某些上下文中,而在其他上下文中则模糊不清。我只是远离。相反,在接口中放置一个 getter (getEXAMPLE())

  • @GlenLamb - 要么我没有关注你要去的地方,要么你误读了这个问题? (2认同)
  • @GlenLamb - 啊,我明白了。这是一个非常具体的编译器功能 - Serialized.java 中没有任何内容可以驱动警告行为,这正是 nguyên 所追求的。 (2认同)