测试发现,反射可以修改常量内容,但是代码里引用常量的地方不会发生变化,因为编译器编译代码时,会把常量直接优化写死。
假如我们写的代码:
static final int max = 100;
if(x > max){.......}
经过编译器编译后实际运行代码:
if(x > 100){.......}
测试发现,反射可以修改常量内容,但是代码里引用常量的地方不会发生变化,因为编译器编译代码时,会把常量直接优化写死。
假如我们写的代码:
static final int max = 100;
if(x > max){.......}
经过编译器编译后实际运行代码:
if(x > 100){.......}