`

Java7 AutoCloseable入门实例

阅读更多

本文转自: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!

 

 

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!

 

分享到:
评论

相关推荐

    Java7程序设计入门经典源代码

    这本书《Java7程序设计入门经典》由肖智清译,旨在帮助初学者掌握Java7的基础知识和编程技巧。源代码文件包含了书中的示例程序,这对于学习和理解Java7的语法、类库和编程实践非常有帮助。 首先,Java7引入了“try-...

    《新手学Java 7编程(第5版)》扫描版[PDF]

    通过以上总结,我们可以看出《新手学Java 7编程(第5版)》这本书不仅涵盖了Java 7的基本概念和技术要点,还介绍了Java 7的一些新特性,非常适合初学者作为入门教材。同时,参与学习社群可以获得更多实践机会和互动...

    Java语言基础入门教程 Java开发编程基础课程 第12章 内部类和异常处理 共18页.pptx

    ### Java语言基础入门教程:内部类与异常处理 #### 一、内部类概述 内部类是在另一个类的内部定义的类。它具有多种类型,并且能够访问外部类的私有成员,这使得内部类在实现特定功能时非常灵活且强大。 #### 二、...

    Java JDK 7学习笔记(国内第一本Java 7,前期版本累计销量5万册)

    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 ...

    黑马程序员入学Java精华总结

    7. **学习Java注意的地方** - 理解面向对象的概念和Java如何实现这些概念。 - 掌握基本语法,如变量、数据类型、控制结构等。 - 练习编写代码,理论结合实践。 8. **Java语法格式** - Java代码遵循严格的语法...

    Head First Java(中文版)(第2版)

    7. **匿名内部类**:Java 5.0对匿名内部类的支持更加强大,可以用来创建一次性使用的类实例,简化了代码,尤其是在处理事件监听器和其他回调接口时。 8. **类型安全的异常**:Java 5.0引入了类型安全的异常检查,...

    Java JDK 6.0基础学习笔记.rar

    Java JDK 6.0是Java开发工具包的一个重要版本,为开发者提供了丰富的功能和改进,是初学者入门Java编程的理想选择。这份"Java JDK 6.0基础学习笔记"涵盖了该版本的关键知识点,包括语法、类库更新以及开发环境的搭建...

    java规范

    ### Java编程规范详解 #### 一、类与方法命名规则 **重要性:** 对于初学者来说,正确的命名规则是编写清晰可读代码的...遵循这些规范不仅可以帮助初学者更快地入门 Java 编程,也能帮助开发者编写出高质量的代码。

Global site tag (gtag.js) - Google Analytics