转载自https://blog.csdn.net/WU4566285/article/details/115101128
1、AutoCloseable接口的介绍
从AutoCloseable的注释可知它的出现是为了更好的管理资源,准确说是资源的释放。
当一个资源类实现了该接口的close方法,在使用try-catch-resources语法后,JVM会自动调用close方法进行资源释放。
当没有抛出异常,正常退出try-block时候也会调用close方法。
像数据库链接类Connection,io类InputStream或OutputStream都直接或者间接实现了该接口.
2、AutoCloseable接口代码示例
注意:try 里面是类的对象.
package com.demo.closeable; /** * 从AutoCloseable的注释可知它的出现是为了更好的管理资源,准确说是资源的释放。 * 当当一个资源类实现了该接口的close方法,在使用try-catch-resources语法后,JVM会自动调用close方法进行资源释放。 * 当没有抛出异常,正常退出try-block时候也会调用close方法。 * 像数据库链接类Connection,io类InputStream或OutputStream都直接或者间接实现了该接口 */ public class MyAutoCloseable { public static void main(String[] args) { try (A a = new A()) { System.out.println(a.getNum()); int i = 5;//i==10 or i==0 System.out.println(5 / i); } catch (Exception e) { System.out.println("抛出了异常!"); } } } class A implements AutoCloseable { private int num = 100; @Override public void close() throws Exception { System.out.println("这里做资源关闭的事情!"); } public int getNum() { return num; } public void setNum(int num) { this.num = num; } }
标签:AutoCloseable,接口,try,num,close,public From: https://www.cnblogs.com/jingRegina/p/17024238.html