java创建对象除了用New 以外,还可以用什么方法创

 我来答
woshidaniel
推荐于2017-09-23 · TA获得超过9240个赞
知道小有建树答主
回答量:1760
采纳率:96%
帮助的人:960万
展开全部

运用反射手段,调用java.lang.Class或者java.lang.reflect.Constructor类的newInstance()实例方法。

例如:

Class objClass=Class.forName("Customer");  //运用反射手段创建Customer对象 
Customer c1=(Customer)objClass.newInstance(); //会调用Customer类的默认构造方法

补充:

newInstance(),采用的是类加载机制,创建一个新的实例,使用newInstance()方法时,对象身上一定要有一个默认的无参构造方法;使用类加载机制:可以很灵活的,创建类的实例,以后更换类的时候,无须修改源代码了。

sunxili520
2010-08-07 · 超过18用户采纳过TA的回答
知道答主
回答量:80
采纳率:0%
帮助的人:0
展开全部
其它常用的是发射来实例化。
通过对象.getClass() 或者Class.forName(类位置)得到类说明
再通过类说明.getConstructor(构造参数值).newInstance()来实例化
返回的是Object需要再强制转会为该对象的类型。
手写的,可能单词不准确。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tywandd
2010-08-05 · TA获得超过192个赞
知道答主
回答量:152
采纳率:0%
帮助的人:95.2万
展开全部
楼上说的也是直接声明为静态的就可以直接调用
只不过现在JAVA WEB开发一般都用到SPRING这个框架,就是不用NEW的,他是通过配置文件达到NEW的目的的比如
正常写的 User user=new User();
spring可以写成 private User user;下面接public User getUser()....public User setUser两个方法,,然后通过配置文件关联,配置文件怎么配置你在网上找一下,这样的好像就是。User假如不只有一个实例,假如有,student和teacher,在正常的调用里面你就必须写 User user=new Student(); 而现在可以直接写成不用实例的。。。。不知道你懂不懂,我把我自己都说糊涂了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ruinty
2010-08-05 · TA获得超过215个赞
知道小有建树答主
回答量:207
采纳率:0%
帮助的人:133万
展开全部
单例模式可以。

写一个空的构造方法,再另写一个方法 比如叫getThis(),在这里面创建对象。

不过本质上还是new。只不过单例模式创建的对象,在内存中只有一份存在
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友db1fe77
推荐于2017-09-07 · TA获得超过461个赞
知道小有建树答主
回答量:274
采纳率:0%
帮助的人:289万
展开全部
1.用new语句创建对象,这是最常见的创建对象的方法。

2.运用反射手段,调用java.lang.Class或者java.lang.reflect.Constructor类的newInstance()实例方法。

3.调用对象的clone()方法。

4.运用反序列化手段,调用java.io.ObjectInputStream对象的 readObject()方法。

参考资料: http://webservices.ctocio.com.cn/116/11452616.shtml

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式