为什么尝试资源不能与字段变量一起使用?
2022-09-01 13:12:38
						这是我关于SO的第一个问题,我很困惑还没有类似的问题!
所以问题是:
为什么尝试资源不能与字段变量一起使用?
或者换句话说:为什么我总是需要一个局部变量?
下面是一些示例代码:
public class FileWriteTest {
    public FileWriter file;
    public void workingDemo() {
        try(FileWriter file = new FileWriter(new File("someFilePath")) {
            // do something
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    public void notWorkingDemo() {
        file = null;
        try(file = new FileWriter(new File("someFilePath")) {
            // do something
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
谁能解释一下为什么会有这个惯例?