* java中一个类中没有公共的构造方法,则说明不能让外界去new对象。
* 有以下几种情况:
* A:成员全部是静态的(如:Math类,Arrays数组工具类,Collections集合工具类)
* B:单例设计模式(如:Runtime运行时类)
* C:类中有静态方法返回该类的对象(如:InetAddress)
* 示例:
* class Demo {
* private Demo(){} // 有私有构造方法,没有公有构造方法
*
* public static Demo getXxx() {
* return new Demo(); // 返回该类对象
* }
* }
注意:ToolKit抽象工具包类,有公共构造方法,但是该抽象类中也有静态方法返回该抽象类的子类对象。如下:
* Toolkit抽象类的方法:该类中有静态方法返回该抽象类的子类对象
* public static Toolkit getDefaultToolkit() 获取默认工具包,返回值是Toolkit类的子类对象
// 获取工具包类对象
Toolkit tk = Toolkit.getDefaultToolkit();
示例代码如下:
1 package cn.itcast_01;
2
3 import java.net.InetAddress;
4 import java.net.UnknownHostException;
5
6 /*
7 *
8 * 看InetAddress类的成员方法:
9 * public static InetAddress getByName(String host) 根据主机名或者IP地址的字符串表示得到IP地址对象
10 */
11 public class InetAddressDemo {
12 public static void main(String[] args) throws UnknownHostException {
13 // public static InetAddress getByName(String host)
14 // InetAddress address = InetAddress.getByName("DESKTOP-TEE3ASS");
15 InetAddress address = InetAddress.getByName("192.168.1.102");
16
17 // 通过IP地址对象获取:主机名、IP地址
18 // InetAddress类的成员方法:public String getHostName() 获取主机名
19 String name = address.getHostName();
20 // InetAddress类的成员方法:public String getHostAddress() 获取IP地址
21 String ip = address.getHostAddress();
22 System.out.println(name + "---" + ip);
23 }
24 }