本文转自:http://www.xiaoyaochong.net/wordpress/?p=330
AutoCloseable接口,表示一种不再使用时需要关闭的资源。这个接口下只有一个方法,close()。这个方法在try-with-resource语法下会被自动调用,支持抛出Exception,当然它也鼓励抛出更详细的异常。close()建议不要抛出线程中断的InterruptedException。对这个接口的实现,规范强烈建议close()是幂等的,也就是说多次调用close()方法和一次调用的结果是一样的。
AutoCloseable的简单实现:
public class MyResource implements AutoCloseable { @Override public void close() throws Exception { System.out.println("Close resource!"); } public void readResource() { System.out.println("Read resource!"); } }
try-resource单元测试:
@Test public void testCloseResource() throws Exception { try(MyResource autoCloseable = new MyResource()) { autoCloseable.readResource(); } }
输出结果:
Read resource!
Close resource!
Close resource!
try-resource-finally单元测试:
@Test public void testCloseResource2() throws Exception { try(MyResource autoCloseable = new MyResource()) { autoCloseable.readResource(); } finally { System.out.println("Executor finally!"); } }
输出结果:
Read resource!
Close resource!
Executor finally!
Close resource!
Executor finally!
相关推荐
这本书《Java7程序设计入门经典》由肖智清译,旨在帮助初学者掌握Java7的基础知识和编程技巧。源代码文件包含了书中的示例程序,这对于学习和理解Java7的语法、类库和编程实践非常有帮助。 首先,Java7引入了“try-...
通过以上总结,我们可以看出《新手学Java 7编程(第5版)》这本书不仅涵盖了Java 7的基本概念和技术要点,还介绍了Java 7的一些新特性,非常适合初学者作为入门教材。同时,参与学习社群可以获得更多实践机会和互动...
### Java语言基础入门教程:内部类与异常处理 #### 一、内部类概述 内部类是在另一个类的内部定义的类。它具有多种类型,并且能够访问外部类的私有成员,这使得内部类在实现特定功能时非常灵活且强大。 #### 二、...
8.2.3 java.lang.autocloseable接口 251 8.3 重点复习 255 8.4 课后练习 256 chapter8 collection与map 261 9.1 使用collection收集对象 262 9.1.1 认识collection架构 262 9.1.2 具有索引的list 263 ...
7. **学习Java注意的地方** - 理解面向对象的概念和Java如何实现这些概念。 - 掌握基本语法,如变量、数据类型、控制结构等。 - 练习编写代码,理论结合实践。 8. **Java语法格式** - Java代码遵循严格的语法...
7. **匿名内部类**:Java 5.0对匿名内部类的支持更加强大,可以用来创建一次性使用的类实例,简化了代码,尤其是在处理事件监听器和其他回调接口时。 8. **类型安全的异常**:Java 5.0引入了类型安全的异常检查,...
Java JDK 6.0是Java开发工具包的一个重要版本,为开发者提供了丰富的功能和改进,是初学者入门Java编程的理想选择。这份"Java JDK 6.0基础学习笔记"涵盖了该版本的关键知识点,包括语法、类库更新以及开发环境的搭建...
### Java编程规范详解 #### 一、类与方法命名规则 **重要性:** 对于初学者来说,正确的命名规则是编写清晰可读代码的...遵循这些规范不仅可以帮助初学者更快地入门 Java 编程,也能帮助开发者编写出高质量的代码。