首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 面试:JAV中除了'new'外,还有其它其它方法实例化对象吗? [已结贴,结贴人:collate5]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • collate5
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    • 揭帖率:
    发表于:2008-05-08 20:50:39 楼主
    我实在想不出还有其它什么方法实例化对象,望指点!
    20  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • nanjg
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-08 20:53:481楼 得分:1
    单例 工厂
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • believefym
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    • 2

    发表于:2008-05-08 20:54:382楼 得分:1
    Class.forName("package.ClassName").newInstance()

    反序列化这种不知道算不算
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • believefym
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    • 2

    发表于:2008-05-08 20:55:043楼 得分:0
    引用 1 楼 nanjg 的回复:
    单例 工厂

    这个一般其实也都是用new实现的吧
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • sunyujia
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-08 21:03:324楼 得分:3
    Java code
    com.Test.class.newInstance();

    创建对象的方法有两种
    但是取得类加载器的方法就多了

    class本身就是一个类,取得到一个类的class就可以new出实例了

    其实2楼的方法也是通过class对象创建实例的,类加载是非常有用的知识,如果你有兴趣建议阅读

    http://blog.csdn.net/sunyujia/archive/2008/04/22/2316293.aspx

    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • nanjg
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-08 21:23:035楼 得分:0
    呵呵
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • jiaping108
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-08 21:46:486楼 得分:2
    先来的都说了,俺就跟下风,呵呵,随便说下,不是用new创建的对象,java的垃圾回收机制不能自动回收
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wangcheng8080
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-08 21:48:027楼 得分:10
    方法一:直接用new的方式开辟一个对象;
    方法二:使用工厂设计模式,引入工厂类;
    方法三:使用反射机制:Class.forName;
    方法四:使用对象克隆:Object类中的clone方法.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wangcheng8080
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-08 21:53:078楼 得分:0
    可以了吧,快散分啊,呵呵!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • tdy218
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-08 22:03:189楼 得分:0
    引用 7 楼 wangcheng8080 的回复:
    方法一:直接用new的方式开辟一个对象;
    方法二:使用工厂设计模式,引入工厂类;
    方法三:使用反射机制:Class.forName;
    方法四:使用对象克隆:Object类中的clone方法.

    学习了!~
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zwf88
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-09 09:40:1710楼 得分:0
    严格来说工厂方法不算,因为工厂方法只不过是封装了new的过程。

    其实归根到底java中创建对象的方法就一个那就是new
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • burningice44
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-09 09:47:4711楼 得分:0
    7楼回答得相当齐全了
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • oldseasoul
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-09 09:49:0112楼 得分:0
    引用 2 楼 believefym 的回复:
    Class.forName("package.ClassName").newInstance()

    反序列化这种不知道算不算


    这种方法创建的对象不归java的垃圾回收机制管么?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lovingprince
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-09 09:49:5013楼 得分:0
    引用 9 楼 tdy218 的回复:
    引用 7 楼 wangcheng8080 的回复:
    方法一:直接用new的方式开辟一个对象;
    方法二:使用工厂设计模式,引入工厂类;
    方法三:使用反射机制:Class.forName;
    方法四:使用对象克隆:Object类中的clone方法.

    学习了!~
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • oogamiyiqilou
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-09 10:09:2114楼 得分:0
    引用 9 楼 tdy218 的回复:
    引用 7 楼 wangcheng8080 的回复:
    方法一:直接用new的方式开辟一个对象;
    方法二:使用工厂设计模式,引入工厂类;
    方法三:使用反射机制:Class.forName;
    方法四:使用对象克隆:Object类中的clone方法.

    学习了!~
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ITCHINAIT
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-09 10:48:4215楼 得分:0
    引用 7 楼 wangcheng8080 的回复:
    方法一:直接用new的方式开辟一个对象;
    方法二:使用工厂设计模式,引入工厂类;
    方法三:使用反射机制:Class.forName;
    方法四:使用对象克隆:Object类中的clone方法.



    很好。。。。

    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • bobor_2008
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-09 11:58:5416楼 得分:0
    引用 7 楼 wangcheng8080 的回复:
    方法一:直接用new的方式开辟一个对象;
    方法二:使用工厂设计模式,引入工厂类;
    方法三:使用反射机制:Class.forName;
    方法四:使用对象克隆:Object类中的clone方法.



    很好啊.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • xstom19
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-09 12:41:3717楼 得分:0
    反序列化也算吧,因为用readObject产生的实例和原实例用==比较是返回false的(默认情况)。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • kekeemx
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-09 12:44:1218楼 得分:1
    使用类加载器加载指定的类也可以得到一个实例,
    当然了前提是你得从一个被实例化好了的类中得到它的类加载器,使用这个加载器加载另外一个类
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • fengyezaihong
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-09 12:51:2119楼 得分:0
    工程方法也是用news来创造的!java中只能用new来实例化对象!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • antti_king
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-09 13:18:3720楼 得分:2
    其实7楼所提到的四种方法,其最终都是用new来获取的,只不过我们一般的Java程序员看来是不同的方法罢了。当然作为面试题,它就是要你回答的这四种方法的。

    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • sweetBug
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-09 14:14:2521楼 得分:0
    会不会有native里的C的malloc方法?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • caven110
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-09 14:20:4322楼 得分:0
    dsmdsmdsm!~~~~~~
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • collate5
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-09 15:01:3523楼 得分:0
    谢谢大家的热心支持.马上散分!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • xinming1558
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-09 21:09:1424楼 得分:0
    引用 14 楼 oogamiyiqilou 的回复:
    引用 9 楼 tdy218 的回复:
    引用 7 楼 wangcheng8080 的回复:
    方法一:直接用new的方式开辟一个对象;
    方法二:使用工厂设计模式,引入工厂类;
    方法三:使用反射机制:Class.forName;
    方法四:使用对象克隆:Object类中的clone方法.

    学习了!~
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • huxcyy
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-26 18:56:0025楼 得分:0
    引用 8 楼 wangcheng8080 的回复:
    可以了吧,快散分啊,呵呵!
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved