Java主类&子类 - Eclipse

时间:2016-04-13 13:16:25

标签: java eclipse

好的我有一个名为ScriptWorker的主类和一个名为Scriptworker$State的子类

ScriptWorker无法识别Scriptworker$State

实施例,

if (Login.getLoginState().equals(Login.STATE.WELCOMESCREEN)) {
  return ScriptWorker.State.ON_WELCOME_SCREEN;
}

if (Login.getLoginState().equals(Login.STATE.INGAME)) {
  RSInterfaceMaster[] ints = Interfaces.getAll();
  for (RSInterfaceMaster i : ints) {
    if ((i.getChild(0).getUID() == 24313856) || (i.getUID() == 35913742)) {
      return ScriptWorker.State.TUTORIAL_ISLAND;
    }
  }

错误读取,

状态是问题所在

国家无法解决或不是一个领域。

修改

 enum State {
    ON_WELCOME_SCREEN("ON_WELCOME_SCREEN", 1),
    TUTORIAL_ISLAND("TUTORIAL_ISLAND", 8), 
    private State(final String s, final int n) { } 
 }

1 个答案:

答案 0 :(得分:0)

正如@ user902383在评论中所述,enum需要是静态的才能像这样访问:

Login.STATE

除非这个ifs与ScriptWorker在同一个包中,否则它也需要公开。

我希望它有所帮助,如果你能提供ScriptWorker类(至少是重要的部分),我可以更精确。