爲什麼匿名內部類訪問的局部變量必須要用final修飾?

這段代碼是無法通過編譯的。因爲匿名內部類訪問的局部變量必須要用final修飾。 具體原因可以分爲兩點: 1. 局部變量的生命週期與局部內部類的對象的生命週期不一致 首先,內部類和外部類其實是處於同一個級別,內部類不會因爲定義在方法中就會隨着方法的執行完畢而一同被銷燬。假設外部類的方法中的變量不定義爲final,那麼當外部類方法執行完畢的時候,這個局部變量也將被銷燬,然而此時內部類的某個方法可能還沒
相關文章
相關標籤/搜索