【发布时间】:2013-04-03 18:53:07
【问题描述】:
使用Java 反射,可以实例化一个类的对象,甚至通过私有构造函数,例如对于
public class MyClass
{
private MyClass(Object p1, String p2)
{
// Constructor with no modifications to static code
}
}
一个可以做(在相同或任何其他类中,为简化省略异常处理)
public static final Constructor myClass;
static
{
myClass = MyClass.class.getConstructor(Object.class, String.class);
myClass.setAccessible(true);
}
然后创建 MyClass 的新实例
myClass.newInstance(new Object(), "Test");
鉴于myClass 是静态的,上述对newInstance() 的调用是线程安全的吗?
【问题讨论】:
标签: java reflection constructor thread-safety