Java 如何在枚举中实例化内部类?

Java 如何在枚举中实例化内部类?,java,enums,Java,Enums,我想知道如何在enum中实例化一个内部类……如果我有这样的代码: 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(){ Sys

我想知道如何在enum中实例化一个内部类……如果我有这样的代码:

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)的实例


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

TestEnum.cs sample = TestEnum.BIG.new cs();
//                            ^^^
// This could be any instance of TestEnum
请注意,如果
cs
不使用其“所有者”
enum

,则可以使
cs
成为
static
嵌套类,这将起作用:

TestEnum.BIG.new cs();

若这样的内部类不在枚举中,而是在简单类中,那个么您将如何实例化它?对于枚举,这是相同的原则。编译器告诉了您什么?请添加更多信息,解释您的答案如何解决问题。
TestEnum.BIG.new cs();