0

我正在查看一个简单的 Enum 示例来尝试提高我的技能,我注意到一些事情至少对我来说是一个危险信号,因为我不明白为什么它是允许的。

这是我正在查看的枚举的副本:

public enum GameDuration {
    Short("30"), Medium("45"), Long("60");

    private GameDuration(String minutes) {
        this.minutes = minutes;
    }

    private String minutes;

    public String getMinutes() {
        return this.minutes;
    }

    public static GameDuration fromMinutes(String minutes) {
        if (minutes != null) {
            for (GameDuration g : GameDuration.values()) {
                if (minutes.equalsIgnoreCase(g.minutes)) {
                    return g;
                }
            }
        }
        return null;
    }
}

我不明白的部分在fromMinutes方法中并粘贴在下面:

if (minutes.equalsIgnoreCase(g.minutes)) {

枚举中的分钟字段被标记为私有,那么如何直接从变量 g 访问它?

谢谢

4

1 回答 1

1

该方法fromMinutes(...)位于 GameDuration 类内部,因此可以访问该类的私有变量和方法。

于 2013-03-24T05:04:14.783 回答