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

如题所述

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

例如:

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

补充:

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

温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-08-07
其它常用的是发射来实例化。
通过对象.getClass() 或者Class.forName(类位置)得到类说明
再通过类说明.getConstructor(构造参数值).newInstance()来实例化
返回的是Object需要再强制转会为该对象的类型。
手写的,可能单词不准确。
第2个回答  2010-08-05
楼上说的也是直接声明为静态的就可以直接调用
只不过现在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(); 而现在可以直接写成不用实例的。。。。不知道你懂不懂,我把我自己都说糊涂了
第3个回答  2010-08-05
单例模式可以。

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

不过本质上还是new。只不过单例模式创建的对象,在内存中只有一份存在
第4个回答  推荐于2017-09-07
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

本回答被提问者采纳