可能重複:
Cannot refer to a non-final variable inside an inner class defined in a different method爲什麼java在內部匿名類中引用非最終變量是不可能的?
爲什麼它在Java中是指在內部匿名類非final的變量是不可能的?簡單的答案是「因爲它被禁止」,但我想知道,爲什麼他們禁止這個有用的功能?也許Java有一些缺乏的能力,或者它是以「錯誤」的方式設計的。我想知道。
可能重複:
Cannot refer to a non-final variable inside an inner class defined in a different method爲什麼java在內部匿名類中引用非最終變量是不可能的?
爲什麼它在Java中是指在內部匿名類非final的變量是不可能的?簡單的答案是「因爲它被禁止」,但我想知道,爲什麼他們禁止這個有用的功能?也許Java有一些缺乏的能力,或者它是以「錯誤」的方式設計的。我想知道。
看看這篇文章,它可能會有所幫助:http://stackoverflow.com/questions/1299837/cannot-refer-to-a-non-final-variable-inside-an-inner-class-defined-在不同的 – mandubian
回答這裏:http://stackoverflow.com/questions/1299837/cannot-refer-to-a-non-final-variable-inside-an-inner-class-defined-in-a-different – Jacob
@cularis,我已經看過它,但由於編輯它不清楚什麼答案考慮正確。 – dhblah