public void method1(final Object obj) {
new AnonymousClass() {
obj.invoke();
}
}
與
public void method1(Object obj) {
final Object tmpObj = obj;
new AnonymousClass() {
tmpObj .invoke();
}
}
之間有區(qū)別嗎?主要的區(qū)別是什么?
1 回答

德瑪西亞99
TA貢獻1770條經(jīng)驗 獲得超3個贊
final修飾變量意思這個值定了,再改就報錯
以上的兩個final修飾的變量就不一樣是有區(qū)別的
前者修改傳過來的參數(shù)obj就報錯,后者修改不報錯
因為只把重新定義的tmpObj定為了常量
從當前執(zhí)行效果來看無區(qū)別
關(guān)健字final還可用于修飾類\方法,意思就是不能繼承和重寫
添加回答
舉報
0/150
提交
取消