class C { static class MyResource implements AutoCloseable { @Override public void close() { } } void m1() throws Exception { try (MyResource r1 = new MyResource()) { System.out.println(r1); } MyResource r2 = new MyResource(); try (MyResource r = r2) { System.out.println(r); System.out.println(r2); } } void m2() throws Exception { try (MyResource r2 = new MyResource()) { } MyResource r3; try (MyResource r = r3) { System.out.println(r); } } }