???????? final ?????????????????????????????????
?????????????????? final ???д?????????????????????????????????????????????????????????
???????ζ???????? final ???????????????????ζ???? final ???????????????????????
????????????
public class FinalExample {
int i;// ???????
final int j;// final ????
static FinalExample obj;
public FinalExample() {
i = 1;// д?????
j = 2;// д final ??
}
public static void writer() {// д??? A ???
obj = new FinalExample();
}
public static void reader() {// ????? B ???
FinalExample object = obj;
int a = object.i;
int b = object.j;
}
}
????????????????? A ??? writer ()????????????????? B ??? reader ()??????
????д final ????????????
??????д final ????????????????
????JMM ??????????? final ???д???????????????
?????????????? final ???д????????? return ??????????? StoreStore ?????????????????????? final ???д???????????????
????????????????
????write ?????????????? obj = new FinalExample();????????????????裺
??????????? FinalExample ????
?????????????????? obj
??????????? B ???ж? obj ???????????????????????????????????£?

????д final ??????????????????:???????????????????????????? final ???????????????????????????????????????
?????? final ????????????
?????? final ????????????????:
?????????????У????ζ?????????????ζ??????????? final ??JMM ?????????????????????????(?????????????????????)????????????? final ???????????????? LoadLoad ?????