java中一个类中没有公共的构造方法,则说明不能让外界去new对象。

java中一个类中没有公共的构造方法,则说明不能让外界去new对象。


  * 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 }

 

posted @ 2018-04-11 16:38  黑泽君  阅读(635)  评论(0编辑  收藏  举报