
Ресурсы, объявленные в try с ресурсами, закрываются в порядке, обратном их объявлению.
class Resource implements AutoCloseable {
private String name;
Resource(String name) {
this.name = name;
System.out.println(name + " is created");
}
@Override
public void close() {
System.out.println(name + " is closed");
}
}
class Test {
public static void main(String[] args) {
try (Resource r1 = new Resource("res-1");
Resource r2 = new Resource("res-2")) {
System.out.println("----------------");
}
}
}
/*
res-1 is created
res-2 is created
----------------
res-2 is closed
res-1 is closed
*/