用java反射机制 创建单例模式的类可以吗?

2024-11-18 07:34:02
推荐回答(4个)
回答1:

private 构造函数一般用于Singleton模式,指的是整个应用只有本类的一个对象,一般这种类都有一个类似getInstance()的方法!下面是一个Singleton的例子:
public class User {
private static User user = null;
private User(){
}

public User getInstance(){
if(null == user){
user = new User();
}
return user;
}
}

回答2:

通过
Constructor[] getDeclaredConstructors()
这个方法获得所有构造器,然后可以得到私有的构造器,
使用 cons. setAccessible(true) 突破私有构造。
然后可以创建无限个单例实例。

回答3:

可以啊。反射机制可以找到java类的私有的构造方法

回答4:

反射可以访问私有的,应该可以创建。你可以试一试