当前位置:  开发笔记 > 编程语言 > 正文

如何从方法设置枚举属性的值?

如何解决《如何从方法设置枚举属性的值?》经验,为你挑选了1个好方法。

我有一个枚举,它包含一个属性(age在我的情况下).我想从每个元素的方法设置它的值.以下是我的代码..

enum Gender {
    MALE {
    void setAge() {
        this.age = 20;
    }
    },
    FEMALE {
    void setAge() {
        this.age = 30;
    }
    };
    int age;

    public int getAge() {
    return age;
    }

    abstract void setAge();
}

public class TestingEnum {
    public static void main(String[] args) {
    System.out.println(Gender.MALE.getAge());
    System.out.println(Gender.FEMALE.getAge());

    }
}

但为什么在我的主方法中产生它们的值只显示0



1> Jörn Buitink..:

你永远不会打电话给setAge.您可以使用构造函数:

enum Gender {
    MALE (28),
    FEMALE (28);

    int age;

    Gender(int genderAge) {
        this.age = genderAge;
    }

    public int getAge() {
        return age;
    }
}


+1这个!当它只是设置一些值时,不需要每个枚举必须实现的抽象方法.
推荐阅读
coco2冰冰
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有