使用Enum-value而不使用Enum-classname

时间:2012-11-16 11:00:39

标签: java class inheritance enums

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

我有以下界面:

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”,只是“新”: - )

那么如果不使用枚举名称,它怎么能这样做呢。有办法吗?

1 个答案:

答案 0 :(得分:21)

您可以使用静态导入:

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.*;