首页 > 代码库 > java7(3)——增强的catch之自动释放资源
java7(3)——增强的catch之自动释放资源
跟mutilcatch一样,java7提供了自动释放资源的方法,但还是很少看到人使用,估计是麻烦去重写close方法。不过jdk内部一些类已经改成使用增强的catch来释放资源的写法,所以我们有必要了解一下这个功能。
顾名思义,自动释放资源就是我们不用再在fianlly里面去close掉资源了,close这个步骤有程序底层自动完成。
举个栗子:
【要自动释放资源的类】:
1 public class CustomResource implements AutoCloseable {2 3 @Override4 public void close() throws Exception {5 System.out.println("资源已释放");6 }7 }
观察可知,要让某类具有自动关闭资源的功能,首先必须实现AutoCloseable接口,其次重写其close方法。
【测试类】:
1 public void testAutoResource() throws Exception{2 try(CustomResource c = new CustomResource() //这里写资源的申请。3 ){4 System.out.println("使用资源"); // 这里写对资源的操作。5 }6 }
用法是在try()里面 new 出 “自动释放资源类”。
【结果打印】:
使用资源资源已释放
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。