import java.lang.reflect.Constructor;
/**
* 通过反射获得私有构造器,创建对象
*
* @author silence
*/
public class Demo1 {
public static void main(String[] args) throws Exception {
//获得字节码文件
Class<User> userClass = User.class;
//获得私有化构造方法, 参数类型
Constructor<User> declaredConstructor = userClass.getDeclaredConstructor(String.class);
//临时取消访问修饰符限制
declaredConstructor.setAccessible(true);
//创建对象
User user = declaredConstructor.newInstance("张三");
user.get();
}
}
class User {
private User(String name) {
System.out.println(name);
System.out.println("user私有构造");
}
public void get() {
System.out.println("成员方法");
}
}
通过反射获得私有构造器,创建对象
最新推荐文章于 2023-07-13 13:58:47 发布