在Java中,匿名内部类(以及任何在方法内部定义的局部内部类)只能引用final的局部变量,或者等效于final的局部变量(即实际上没有被修改过的变量)。这是因为匿名内部类和局部内部类都持有对外部类(或方法)的引用,并且它们是在运行时动态生成的类。