java - 如何在Enum中实例化内部类?

标签 java enums

我想知道如何在枚举中实例化内部类...如果我有这样的代码:

public enum TestEnum {
    BIG(1),SMALL(2),LARGE(3);
    int i;

    private TestEnum(int i){
        this.i = i;
    }

    public class cs{
        cs c = new cs(){
            public void met(){
                System.out.println("met in enum inner class");
            }
        };
    }

    public static void main(String[] args){
        //instantiate an object of cs here
    }
}

可以实例化吗?

最佳答案

由于enum的内部类是非静态的,因此您需要一个对象引用来创建cs的新实例:

TestEnum.cs sample = TestEnum.BIG.new cs();
//                            ^^^
// This could be any instance of TestEnum

请注意,如果 cs 不使用其“所有者”enum,则可以将 cs 设为 static 嵌套类>.

关于java - 如何在Enum中实例化内部类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23086155/

相关文章:

具有最少随机数的 Java 排列

android - MVV交叉: Pass an enum value as a CommandParameter for Android

c# - 什么是更好的 : an Enum or a singleton

c - 如何以编程方式将整数映射到 const 字符串?

java - 如何用括号编码替换url中的括号?

java - 对于循环和charAt问题,尝试确定字符串是否为数字

使用 OAuth2 的 Java Spring (Maven) REST API

java - 如何构建编程过程?

javascript - 类枚举 setter ,约定 javascript

java - 区分不同处理的类类型的最佳方法