You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 08:39:33