4 回答

TA貢獻1840條經(jīng)驗 獲得超5個贊
static final boolean
String
如果字段是一個常量變量(§4.12.4),那么刪除關(guān)鍵字Final或更改其值不會導(dǎo)致它們不運行而破壞與現(xiàn)有二進制文件的兼容性,但是 除非重新編譯,否則它們將不會看到使用該字段的任何新值。即使使用本身不是編譯時常量表達式,也是如此(§15.28)
class Flag { static final boolean FLAG = true;}class Checker { public static void main(String... argv) { System.out.println(Flag.FLAG); }}
Checker
Flag.FLAG
true
0: getstatic #2; //Field java/lang/System.out:Ljava/io/PrintStream;
3: iconst_1
4: invokevirtual #3; //Method java/io/PrintStream.println:(Z)V
7: return

TA貢獻1828條經(jīng)驗 獲得超6個贊
Reflect.on(yourObject).set("finalFieldName", finalFieldValue);
override
添加回答
舉報