据我所知,Closeable接口(interface)是Java 1.5左右的版本,而AutoCloseable是Java 1.7中引入的。我想了解的是为什么Closeable扩展了AutoCloseable而不是反过来呢?
是否由于向后依赖关系(无法更改Closeable接口(interface))(即,需要AutoCloseable具有比Closeable更大的异常)而完成此操作?还是我的逻辑是错误的,应该是那样吗?
最佳答案
这样,所有实现Closeable
的用户代码都会自动实现为AutoCloseable
,这使他们可以自动从try-with-resources语法中受益。