程序设计中所有的资源都是有访问上限的,超出上限可能无法继续连接,就需要你对所有资源进行释放
AutoCloseable是一个自动关闭的接口,到1.7才开始出现,里面只有一个close方法,但是他抛出了一个异常,所以你使用时会进行异常的处理,关闭操作才会正常进行
interface IMessage extends AutoCloseable{
void send();
}
class Message implements IMessage{
public Message() {
System.out.println("连接");
}
@Override
public void send() {
System.out.println("发送");
}
@Override
public void close() throws Exception {
System.out.println("关闭");
}
}
public class AutoCloseableDemo {
public static void main(String[] args) {
//如果这里没有进行异常的处理就不会自动调用close方法
try(IMessage im=new Message()) {
im.send();
} catch (Exception e) {
e.printStackTrace();
}
}
}