public class Singleton { private Singleton(){ System.out.println(" singleton "); }
private static Singleton s = new Singleton(); public static Singleton getInstance(){ return s; } }
public class Singleton {
private Singleton(){
System.out.println(" singleton ");
}
private static Singleton s = new Singleton();
public static Singleton getInstance(){
return s;
}
}
解决方案 »
- ThreadLocal怎样在action存上之后,在service层取出来?
- spring3.0整合hibernate3.3 进行声明式事务管理问题
- 关于struts的ActionForm与checkbox的问题
- JDBC
- 广州某公司-高薪急招FLASH高手。
- [救急]读取xml问题百分求助,高手请进!
- 在EJB中是否大量數據查詢都用SESSIONBEAN直接操作底層數據庫,那么ENTITYBEAN優勢只能做少量數據查詢﹐不然效率太低?
- 请问有谁用过APUSIC应用服务器 他和WEBLOGIC从功能上讲有什么区别?
- Jbuilder8编译出错
- 求助!关于WEB项目servlet启动出了问题。
- struts2第一次做,出问题了,请各位高手给点意见,继续,谢谢啊
- 请高手帮忙,将TELNET封装入SESSION
private Singleton() {
System.out.println(" singleton ");
} private static Singleton s = new Singleton(); public static Singleton getInstance() {
return new Singleton(); // 改成 new 一个实例就可以了
}
}
主要的类:java.lang.reflect.Constructor 首先要拿到构造方法,具体如下:
Class clazz = Class.forName("Bean");
Constructor[] cons = clazz.getDeclaredConstructors();
这样拿到的cons数组保存着所有的这个类的构造函数,包括私有的和公有的。
迭代并调用con.toGenericString()可以拿到每个构造方法的全限定名(带修饰符,带参数)。
如果要拿单个构造方法,可以调用getDeclaredConstructor(Class args);来拿,只要参数匹配了就可以得到,如果没有参数,则传null即可。 然后需要调用Constructor的方法setAccessible设置为true,表示允许使用私有构造函数。这个方法是父类 AccessibleObject的方法,这个类的自类有Constructor, Field, Method分别代表构造函数,成员变量,和成员方法。也就是说使用这个方法,可以访问类的所有的方法、变量、构造函数。 最后,使用Constructor的newInstance方法就可以把对象创建出来了:
Bean bean = (Bean)con.newInstance(Object args);
没有参数的构造函数可以传null进去。