$后面跟文字是内部类编译出来的
匿名内部类在编译的时候由系统自动起名为Outter$1.class。一般来说,匿名内部类用于继承其他类或是实现接口,并不需要增加额外的方法,只是对继承方法的实现或是重写。TestA .ON/OFF 是enum 的两个实例; 而TestB.ON/OFF测试匿名子类。
public enum testA implements ParameterValue
{
ON(
ResourceUtil.INVALID_RESOURCE_ID,
R.string.cam_strings_settings_on_txt,
Scene.TEST_1,
0.5f),
OFF(
ResourceUtil.INVALID_RESOURCE_ID,
R.string.cam_strings_settings_off_txt,
Scene.TEST_2,
0.0f);
}
public enum testA implements ParameterValue {
ON(
ResourceUtil.INVALID_RESOURCE_ID,
R.string.cam_strings_settings_on_txt,
Scene.TEST_1,
0.5f),
OFF(
ResourceUtil.INVALID_RESOURCE_ID,
R.string.cam_strings_settings_off_txt,
Scene.TEST_2,
0.0f);
}
public enum testB implements ParameterValue {
ON(
ResourceUtil.INVALID_RESOURCE_ID,
R.string.cam_strings_settings_on_txt,
Scene.TEST_1) {
@Override
protected int getLevelValue(int maxLevel) {
return maxLevel / 2;
}
},
OFF(
ResourceUtil.INVALID_RESOURCE_ID,
R.string.cam_strings_settings_off_txt,
Scene.TEST_2) {
@Override
protected int getLevelValue(int maxLevel) {
return 0;
}
};
}

本文探讨了Java中匿名内部类的使用场景及其与枚举的结合,通过具体示例展示了如何在实际开发中灵活运用这些特性。

被折叠的 条评论
为什么被折叠?



