InetAddress類
InetAddress類用來封裝我們前面討論的數字式的IP地址和該地址的域名。
你通過一個IP主機名與這個類發生作用,IP主機名比它的IP地址用起來更簡便更容易理解。
InetAddress類內部隱藏了地址數字。
InetAddress類中的工廠方法
InetAddress類沒有明顯的構造函數。為生成一個InetAddress對象,必須運用一個可用的工廠方法。
工廠方法(factory method)僅是一個類中靜態方法返回一個該類實例的約定。
對於InetAddress,三個方法:getLocalHost()、getByName()以及getAllByName()可以用來創建InetAddress的實例。
getLocalHost()僅返回象征本地主機的InetAddress對象。
本機地址還為localhost,127.0.0.1,這三個地址都是一回事。
getByName()方法返回一個傳給它的主機名的InetAddress。
如果這些方法不能解析主機名,它們引發一個UnknownHostException異常。
在Internet上,用一個名稱來代表多個機器是常有的事。
getAllByName()工廠方法返回代表由一個特殊名稱分解的所有地址的InetAddresses類數組。
在不能把名稱分解成至少一個地址時,它將引發一個UnknownHostException異常。
程序實例

package com.example.network; import java.net.InetAddress; public class InetAddressTest01 { public static void main(String[] args) throws Exception { InetAddress address = InetAddress.getLocalHost(); System.out.println(address); // 輸出:機器名/IP地址 // 如username-PC/10.4.16.131 // 通過域名得到IP地址 address = InetAddress.getByName("www.sohu.com"); System.out.println(address); // 輸出:域名/IP地址 } }
參考資料
聖思園張龍老師Java SE系列視頻教程。