Java8 effectively final

在Java8之前,我們在匿名內部類中如果使用外部局部變量a,那麼變量a必須被聲明爲final的。但從Java8開始,我們不需要再去顯示地聲明這個局部變量爲final了。 同樣的代碼例子,圖一是Java7編譯結果,圖二是Java8編譯結果。 從Java8開始,我們可以在匿名內部類中直接使用非final變量。不過,這樣做是有前提的,就是這個局部變量不能被再被重新賦值! 如果代碼中的變量out重新賦值了
相關文章
相關標籤/搜索