0

最终局部变量(在方法内)的生命周期是否与其他局部变量相同,即它们是否在方法调用结束并删除堆栈后立即死亡?
如果是这样,那么我们如何才能在方法局部类中访问最终局部变量,而其他局部变量却不能呢?
请澄清我的查询。

4

1 回答 1

2

当你创建一个匿名内部类的实例时,你实际上是在创建一个闭包,这是一种特殊的语言结构,据说可以“关闭”局部变量。幕后发生的事情是最终变量的值被复制到匿名实例的合成实例变量中。像往常一样,堆栈分配的最终变量本身会随着该方法而死。

于 2013-01-25T12:51:58.567 回答