Java中如何在main方法实例化包含Gender枚举的Person类?
如何实例化包含内部枚举的Person类?
嘿,这事儿很容易搞定!你的Gender枚举是定义在Person类内部的,所以在外部(比如main方法里)引用它的时候,需要通过外部类名.枚举类名.枚举值的方式来访问。
你只需要把main里的问号替换成Person.Gender.M或者Person.Gender.F就行,完整的可运行代码示例如下:
class Person { public enum Gender { M,F } int age; Gender gender; public Person(int age, Gender gender) { this.age=age; this.gender=gender; } } public class Main { public static void main(String[] args) { // 实例化一个20岁的男性Person对象 Person malePerson = new Person(20, Person.Gender.M); // 实例化一个25岁的女性Person对象 Person femalePerson = new Person(25, Person.Gender.F); } }
补充小细节:
- Java中,类内部定义的枚举默认是
static类型的,所以不需要先创建Person对象,就能直接通过Person.Gender访问枚举类型。 - 如果你的
main方法是直接写在Person类内部(需要把Person改成public类),那还可以简化写法,直接用Gender.M,因为在同一个类里可以直接访问内部枚举:
public 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, Gender.M); // 同一个类内可直接引用内部枚举 } }
内容的提问来源于stack exchange,提问作者user9240647
相关产品推荐
相关产品推荐

