InetAddress表示互联网协议IP地址
它有两个子类,一个是Inet4Address,一个是Inet6Address。所以我们在获取InetAddress类对象的时候,它底层会先判断你当前系统用的是4版本的还是6版本的,如果用的是4版本的,那么会创建子类Inet4Address对象给你返回。
那我如何获取InetAddress类的对象呢?这个类没有对外提供构造方法,所以不能直接new,而是需要通过它的静态方法getByName()来获取对象,这个方法底层就做了一个判断:判断你用的是Ipv4还是IPv6,然后创建对应的子类对象返回给你。
static InetAddress getByName(String host):确定主机名称的IP地址,主机名称可以是机器名称,也可以是IP地址
String getHostName():获取此IP地址的主机名。细节:如果网络当中没有这台电脑,是获取不到主机名的,然后给你返回一个IP
String getHostAddress():返回文本显示中的IP地址字符串
public static void main(String[] args) throws Exception {
//address是IP的对象,也是一台电脑的对象
InetAddress address = InetAddress.getByName("172.18.153.251");
System.out.println(address.getHostName());
System.out.println(address.getHostAddress());
}