java.nio.file.Files.newByteChannel
返回SeekableByteChannel
。但是返回的对象的实际类是sun.nio.ch.FileChannelImpl
(在我的Java中),所以我可以将它转换为java.nio.channels.FileChannel
并将其用作FileChannel。有人知道Files.newByteChannel
无法返回FileChannel
的原因吗?
答案 0 :(得分:1)
有人知道Files.newByteChannel无法返回FileChannel的原因吗?
FileChannel
(抽象类)实现SeekableByteChannel
接口。
一般来说,使用object reference of interface
代替类是一种好习惯,因为如果我们更改实现,那么我们不需要在任何地方更改代码。