编译后在Java枚举中创建的隐式内部类

6 java enums

我正在学习Enum并对此代码感到困惑.

enum Currency{
    PENNY, NICKLE, DIME, QUARTER;
    @Override
    public String toString() {
            switch (this) {
                case PENNY:
                    System.out.println("Penny: ");
                    break;
                case NICKLE:
                    System.out.println("Nickle: ");
                    break;
                case DIME:
                    System.out.println("Dime: ");
                    break;
                case QUARTER:
                    System.out.println("Quarter: ");
            }
        return super.toString();
    }
};
public class Check{
    public static void main(String[] args){

    }
}
Run Code Online (Sandbox Code Playgroud)

当我编译javac Check.java我得到以下.class文件.

Check.class
Currency$1.class
Currency.class
Run Code Online (Sandbox Code Playgroud)

为什么Currency$1.class要创建?如何?背后的原因是什么?我知道内部类的$符号和1代表匿名类1.但是为什么在这个代码中它创建了没有内部类.