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

时间:2016-04-25 15:12:16

标签: 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){

    }
}

当我编译javac Check.java时,我收到了以下.class个文件。

Check.class
Currency$1.class
Currency.class

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

0 个答案:

没有答案