java - 为什么 Inet*Address 类没有可见的构造函数?

标签 java

为什么 InetAddressInet4AddressInet6Address 类没有可见的构造函数?

最佳答案

因为它是一个工厂类。当您希望创建此类对象的情况很少时,使用静态方法返回工厂实例是有意义的。

因此,与其将构造函数重载到您必须记住用于每种给定情况的各种奇怪的参数组合的地步,它只为您提供每种情况的一个(希望命名正确的)方法。

在这种情况下,您可以使用以下之一创建一个对象:

  • getLocalHost(),获取自己的地址;
  • getByName(),获取站点的“主要”地址;或
  • getAllByName(),获取地址列表。

这不是一个详尽的列表,请参阅 here有关更多信息,请在该页面上搜索:

Methods in java.net that return InetAddress

关于java - 为什么 Inet*Address 类没有可见的构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8470384/

相关文章:

java - if (boolean == false) 与 if (!boolean)

java - 由 : java. lang.NullPointerException 引起:lock == null

java - AS400 角色扮演游戏模拟器

java - 如何在 switch 语句中合并案例?

java - native 浏览器和 Android 应用程序之间是否可以交互?

java - 如何将 Rectangle 对象发送到 Java 中的 Paint() 方法

java - 如何访问多维 vector 中的元素?

java - 如何使用 Jackson 定义可选的 json 字段

java - 从 HTTP 请求中获取完整路径

java - 如何在没有 Autowiring 的情况下实例化spring data jpa存储库