什么';中断通道接口在Java中扩展通道接口的目的是什么?
我知道这听起来像个愚蠢的问题。但由于InterruptableChannel仅声明一种方法:什么';中断通道接口在Java中扩展通道接口的目的是什么?,java,inheritance,interface,extends,Java,Inheritance,Interface,Extends,我知道这听起来像个愚蠢的问题。但由于InterruptableChannel仅声明一种方法: void close() throws IOException 与通道接口中的名称/签名相同。这种接口继承的目的是什么 这是为了在Java运行时进行反射吗?这是同一个签名,但它也可以抛出AsynchronousCloseException(这也是一个IOException) 在实践中,这实际上是一个“标记”接口,虽然功能等同于使用频道,但使用中断频道可能会让任何阅读代码的人更清楚
void close()
throws IOException
与通道接口中的名称/签名相同。这种接口继承的目的是什么
这是为了在Java运行时进行反射吗?这是同一个签名,但它也可以抛出
AsynchronousCloseException
(这也是一个IOException
)
在实践中,这实际上是一个“标记”接口,虽然功能等同于使用
频道
,但使用中断频道
可能会让任何阅读代码的人更清楚地了解其用法。目的是将可中断频道提供的合同直接编码到类型系统中。合同的保证被认为是重要的,足以证明这一点
在以下文件中特别注意这句话:
当且仅当通道实现此接口时,通道支持异步关闭和中断。如有必要,可在运行时通过instanceof
操作符对其进行测试