Uses of Class java.net.NetworkInterface (Java Platform SE 8 )
Date: 2026-04-17

## Uses of Class
java.net.NetworkInterface

- Packages that use NetworkInterface
  Package | Description
  --- | ---
  java.net | Provides the classes for implementing networking applications.
  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.

- - ### Uses of NetworkInterface in java.net

    Fields in java.net with type parameters of type NetworkInterface
    Modifier and Type | Field and Description
    --- | ---
    `static SocketOption<NetworkInterface>` | StandardSocketOptions.`IP_MULTICAST_IF` The network interface for Internet Protocol (IP) multicast datagrams.

    Methods in java.net that return NetworkInterface
    Modifier and Type | Method and Description
    --- | ---
    `static NetworkInterface` | NetworkInterface.`getByIndex(int index)` Get a network interface given its index.
    `static NetworkInterface` | NetworkInterface.`getByInetAddress(InetAddress addr)` Convenience method to search for a network interface that has the specified Internet Protocol (IP) address bound to it.
    `static NetworkInterface` | NetworkInterface.`getByName(String name)` Searches for the network interface with the specified name.
    `NetworkInterface` | MulticastSocket.`getNetworkInterface()` Get the multicast network interface set.
    `NetworkInterface` | NetworkInterface.`getParent()` Returns the parent NetworkInterface of this interface if this is a subinterface, or `null` if it is a physical (non virtual) interface or has no parent.
    `NetworkInterface` | Inet6Address.`getScopedInterface()` Returns the scoped interface, if this instance was created with with a scoped interface.

    Methods in java.net that return types with arguments of type NetworkInterface
    Modifier and Type | Method and Description
    --- | ---
    `static Enumeration<NetworkInterface>` | NetworkInterface.`getNetworkInterfaces()` Returns all the interfaces on this machine.
    `Enumeration<NetworkInterface>` | NetworkInterface.`getSubInterfaces()` Get an Enumeration with all the subinterfaces (also known as virtual interfaces) attached to this network interface.

    Methods in java.net with parameters of type NetworkInterface
    Modifier and Type | Method and Description
    --- | ---
    `static Inet6Address` | Inet6Address.`getByAddress(String host, byte[] addr, NetworkInterface nif)` Create an Inet6Address in the exact manner of `InetAddress.getByAddress(String,byte[])` except that the IPv6 scope_id is set to the value corresponding to the given interface for the address type specified in `addr`.
    `boolean` | InetAddress.`isReachable(NetworkInterface netif, int ttl, int timeout)` Test whether that address is reachable.
    `protected abstract void` | DatagramSocketImpl.`joinGroup(SocketAddress mcastaddr, NetworkInterface netIf)` Join the multicast group.
    `void` | MulticastSocket.`joinGroup(SocketAddress mcastaddr, NetworkInterface netIf)` Joins the specified multicast group at the specified interface.
    `protected abstract void` | DatagramSocketImpl.`leaveGroup(SocketAddress mcastaddr, NetworkInterface netIf)` Leave the multicast group.
    `void` | MulticastSocket.`leaveGroup(SocketAddress mcastaddr, NetworkInterface netIf)` Leave a multicast group on a specified local interface.
    `void` | MulticastSocket.`setNetworkInterface(NetworkInterface netIf)` Specify the network interface for outgoing multicast datagrams sent on this socket.

  - ### Uses of NetworkInterface in java.nio.channels

    Methods in java.nio.channels that return NetworkInterface
    Modifier and Type | Method and Description
    --- | ---
    `abstract NetworkInterface` | MembershipKey.`networkInterface()` Returns the network interface for which this membership key was created.

    Methods in java.nio.channels with parameters of type NetworkInterface
    Modifier and Type | Method and Description
    --- | ---
    `MembershipKey` | MulticastChannel.`join(InetAddress group, NetworkInterface interf)` Joins a multicast group to begin receiving all datagrams sent to the group, returning a membership key.
    `MembershipKey` | MulticastChannel.`join(InetAddress group, NetworkInterface interf, InetAddress source)` Joins a multicast group to begin receiving datagrams sent to the group from a given source address.

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.