java $1 class_什么意思是带有美元符号和数字.class的java文件名(名称$ 1.class)?

当我编译我的java Enum Day时,它会生成他的Day.class文件和8天$#.class Files,所以我想知道为什么编译器生成8 $#.class而不是7,因为我有7个枚举常量,但是8覆盖注释,我已经知道Dollar.class文件是为每个内部类或枚举常量生成的,但是八个.class文件为它生成了什么呢?

package com.kaissersoft.test.objective.one.three.enums;

public enum Day{

SUNDAY(01){

@Override

public void salute(){

System.out.println("Today is Sunday");

}

},

MONDAY(02){

@Override

public void salute(){

System.out.println("Today is Monday");

}

},

TUESDAY(03){

@Override

public void salute(){

System.out.println("Today is Tuesday");

}

},

WEDNESDAY(04){

@Override

public void salute(){

System.out.println("Today is Wednesday");

}

},

THURSDAY(05){

@Override

public void salute(){

System.out.println("Today is Thursday");

}

},

FRIDAY(06){

@Override

public void salute(){

System.out.println("Today is Friday");

}

},

SATURDAY(07){

@Override

public void salute(){

System.out.println("Today is Saturday");

}

};

int dayNumber;

Day(final int day){

dayNumber = day;

}

public int getDayNumber(){

return dayNumber;

}

@Override

public String toString(){

switch(this){

case SUNDAY:

System.out.println("Sunday("+this.getDayNumber()+")");

break;

case MONDAY:

System.out.println("Monday("+this.getDayNumber()+")");

break;

case TUESDAY:

System.out.println("Tuesday"+this.getDayNumber()+")");

break;

case WEDNESDAY:

System.out.println("Wednesday("+this.getDayNumber()+")");

break;

case THURSDAY:

System.out.println("Thursday("+this.getDayNumber()+")");

break;

case FRIDAY:

System.out.println("Friday("+this.getDayNumber()+")");

break;

case SATURDAY:

System.out.println("Saturday("+this.getDayNumber()+")");

break;

}

return super.toString();

}

//Abstract method to the day Salute

public abstract void salute();

}

它产生了这个:

Day.class

天$ 1.class

天$ 2.class

天$ 3.class

天$ 4.class

天$ 5.class

天$ 6.class

天$ 7.class

天$ 8.class

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值