[Java]编译学习之一

来源:互联网 发布:约瑟夫环算法 数组 编辑:程序博客网 时间:2024/04/30 14:19
$后面跟数字是匿名类编译出来的

$后面跟文字是内部类编译出来的

匿名内部类在编译的时候由系统自动起名为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;
                }
            };
}

0 0
原创粉丝点击