Bất kỳ biến nào đã được sử dụng trong Thử với tài nguyên câu lệnh yêu cầu được khai báo trong Thử lên đến Java 8 phiên bản. Kể từ Java 9, hạn chế này đã được xóa và mọi cuối cùng hoặc cuối cùng một cách hiệu quả biến số đã được sử dụng bên trong khối Thử. Hiệu quả cuối cùng nghĩa là không thể thay đổi biến sau khi nó đã được khởi tạo.
Ví dụ
import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; public class EffectivelyFinalTest { private static File file = new File("try_resources.txt"); public static void main(String args[]) throws IOException { file.createNewFile(); BufferedReader bufferedReader = new BufferedReader(new FileReader(file)); try(bufferedReader) { System.out.println("Can Use Final or Effectively Final in Try with Resources!"); } finally { System.out.println("In finally block"); } } }
Đầu ra
Can Use Final or Effectively Final in Try with Resources! In finally block