代码之家  ›  专栏  ›  技术社区  ›  user9240647

构造函数中的Java枚举

  •  2
  • user9240647  · 技术社区  · 7 年前

    我有一个枚举性别的类person,在person构造函数中,我要初始化性别和年龄。如何在main()方法中实例化一个新的Person?

    class Person  {
    
       public enum Gender { M,F }
    
       int age;
       Gender gender;
    
       public Person(int age, Gender gender) {
           this.age=age; this.gender=gender;
       }           
    }
    
    public static void main(String[] args) {
        Person p = new Person(20, ?);        
    }
    

    顺致敬意,

    2 回复  |  直到 7 年前
        1
  •  8
  •   DontKnowMuchBut Getting Better    7 年前

    使用

    Person p = new Person(20, Person.Gender.M);
    

    请注意,访问嵌套枚举就像访问嵌套枚举一样 静止的

        2
  •  2
  •   davidxxx    7 年前

    Person p = new Person(20, Person.Gender.M); 当然有用。

    但是,用 Person 每次需要指定枚举值时都要封闭类。

    因此,在客户机类中添加正确的导入。IDE自动导入功能应该可以为您完成这项工作。

    import Person.Gender;
    

    并使用更直的方式:

    Person p = new Person(20, Gender.M);