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("成员方法");}
}