构造函数

时间:2018-04-02 20:58:58

标签: java enums constructor

我有一个具有enum性别的班级人员,在Person Constructor中我想初始化性别和年龄。如何在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 个答案:

答案 0 :(得分:7)

使用

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

请注意,嵌套枚举的访问方式类似于嵌套的 static 类。

答案 1 :(得分:2)

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

但是每次需要指定枚举值时,Person封闭类的枚举前缀是笨拙的。

因此,在客户端类中添加正确的导入。 IDE自动导入功能应该为您完成。

import Person.Gender;

并采用更直接的方式:

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