$后面跟文字是内部类编译出来的
匿名内部类在编译的时候由系统自动起名为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;
}
};
}