## Uses of Interface
java.nio.channels.Channel

Packages that use Channel
java.lang: Provides classes that are fundamental to the design of the Java programming language.
java.nio.channels: Defines channels, which represent connections to entities that are capable of performing I/O operations, such as files and sockets; defines selectors, for multiplexed, non-blocking I/O operations.
java.nio.channels.spi: Service-provider classes for the ``java.nio.channels`` package.

### Uses of Channel in java.lang

Methods in java.lang that return Channel
`static Channel` System.`inheritedChannel()` Returns the channel inherited from the entity that created this Java virtual machine.

### Uses of Channel in java.nio.channels

Subinterfaces of Channel in java.nio.channels
`interface` `AsynchronousByteChannel` An asynchronous channel that can read and write bytes.
`interface` `AsynchronousChannel` A channel that supports asynchronous I/O operations.
`interface` `ByteChannel` A channel that can read and write bytes.
`interface` `GatheringByteChannel` A channel that can write bytes from a sequence of buffers.
`interface` `InterruptibleChannel` A channel that can be asynchronously closed and interrupted.
`interface` `MulticastChannel` A network channel that supports Internet Protocol (IP) multicasting.
`interface` `NetworkChannel` A channel to a network socket.
`interface` `ReadableByteChannel` A channel that can read bytes.
`interface` `ScatteringByteChannel` A channel that can read bytes into a sequence of buffers.
`interface` `SeekableByteChannel` A byte channel that maintains a current position and allows the position to be changed.
`interface` `WritableByteChannel` A channel that can write bytes.

Classes in java.nio.channels that implement Channel
`class` `AsynchronousFileChannel` An asynchronous channel for reading, writing, and manipulating a file.
`class` `AsynchronousServerSocketChannel` An asynchronous channel for stream-oriented listening sockets.
`class` `AsynchronousSocketChannel` An asynchronous channel for stream-oriented connecting sockets.
`class` `DatagramChannel` A selectable channel for datagram-oriented sockets.
`class` `FileChannel` A channel for reading, writing, mapping, and manipulating a file.
`static class` `Pipe.SinkChannel` A channel representing the writable end of a `Pipe`.
`static class` `Pipe.SourceChannel` A channel representing the readable end of a `Pipe`.
`class` `SelectableChannel` A channel that can be multiplexed via a `Selector`.
`class` `ServerSocketChannel` A selectable channel for stream-oriented listening sockets.
`class` `SocketChannel` A selectable channel for stream-oriented connecting sockets.

Methods in java.nio.channels that return Channel
`Channel` FileLock.`acquiredBy()` Returns the channel upon whose file this lock was acquired.

### Uses of Channel in java.nio.channels.spi

Classes in java.nio.channels.spi that implement Channel
`class` `AbstractInterruptibleChannel` Base implementation class for interruptible channels.
`class` `AbstractSelectableChannel` Base implementation class for selectable channels.

Methods in java.nio.channels.spi that return Channel
`Channel` SelectorProvider.`inheritedChannel()` Returns the channel inherited from the entity that created this Java virtual machine.