可能重复:
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