A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© yujiangjiao 中级黑马   /  2014-4-2 22:51  /  1342 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 yujiangjiao 于 2014-4-4 18:49 编辑

  1. import java.net.*;

  2. class  IPDemo
  3. {
  4.         public static void main(String[] args) throws Exception //抛出UnknownHostException

  5.         {
  6.         //        InetAddress i=new InetAddress();//该类不可以创建对象,,为什么? ??
  7.                 InetAddress i=InetAddress.getLocalHost();//返回InetAddress类型
  8.                 System.out.println(i.toString());
  9.         }
  10. }
复制代码

InetAdderss  是一个类,为什么不可以 new 一个实例化对象?很不理解,已经困扰我一下午了,请教高手解释,谢谢。

评分

参与人数 1技术分 +1 收起 理由
itpower + 1

查看全部评分

3 个回复

倒序浏览
从API文档可以看到,这个类没有构造方法,所以不可以new 对象,但是它提供了几个方法,返回结果类型是本身这个类的类型,并不是说每个类可以通过new 实例化对象,像好多的工具类如:Collections,System,Arrays等都不可以new 对象啊

评分

参与人数 1技术分 +1 收起 理由
itpower + 1

查看全部评分

回复 使用道具 举报
在没有构造方法的时候是不可以建立对象的,但是呢这个类里面有,别的方法返回值 就是对象,所以这里面用到了,单例设计模式,不可以在外面new对象,只能通过里面的方法,向外返

个人理解:)
回复 使用道具 举报
InetAddress,此类表示互联网协议 (IP) 地址。这个类没有构造函数。在创建对象的时候都是需要调用构造函数的。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马