15

我在接口中使用静态枚举,并希望在扩展类中使用它。

我有以下接口:

public interface StateSupport {
    public static enum State {
        NEW,
        UNCHANGED,
        UPDATED;
    }
}

public interface Support extends StateSupport  {
    public void do(Context arg0);
}

最后是一堂课

public class MyClassUtil implements Support {
    public void do(Context arg0){ 
        MyClass obj = new MyClass(NEW);
    }

}

关键是我不想写“State.NEW”,只是“NEW”:-)

那么如何在不使用枚举名称的情况下做到这一点。有办法吗?

4

1 回答 1

26

您可以使用静态导入:

import static com.yourpackage.StateSupport.State.NEW;
import static com.yourpackage.StateSupport.State.UNCHANGED;
import static com.yourpackage.StateSupport.State.UPDATED;

或简而言之(不鼓励):

import static com.yourpackage.StateSupport.State.*;
于 2012-11-16T11:03:06.663 回答