什么';中断通道接口在Java中扩展通道接口的目的是什么?

什么';中断通道接口在Java中扩展通道接口的目的是什么?,java,inheritance,interface,extends,Java,Inheritance,Interface,Extends,我知道这听起来像个愚蠢的问题。但由于InterruptableChannel仅声明一种方法: void close() throws IOException 与通道接口中的名称/签名相同。这种接口继承的目的是什么 这是为了在Java运行时进行反射吗?这是同一个签名,但它也可以抛出AsynchronousCloseException(这也是一个IOException) 在实践中,这实际上是一个“标记”接口,虽然功能等同于使用频道,但使用中断频道可能会让任何阅读代码的人更清楚

我知道这听起来像个愚蠢的问题。但由于InterruptableChannel仅声明一种方法:

void close()
           throws IOException
与通道接口中的名称/签名相同。这种接口继承的目的是什么


这是为了在Java运行时进行反射吗?

这是同一个签名,但它也可以抛出
AsynchronousCloseException
(这也是一个
IOException


在实践中,这实际上是一个“标记”接口,虽然功能等同于使用
频道
,但使用
中断频道
可能会让任何阅读代码的人更清楚地了解其用法。

目的是将可中断频道提供的合同直接编码到类型系统中。合同的保证被认为是重要的,足以证明这一点

在以下文件中特别注意这句话:

当且仅当通道实现此接口时,通道支持异步关闭和中断。如有必要,可在运行时通过
instanceof
操作符对其进行测试