Java反射----构造方法

获取构造方法

  • getConstructor(Class …)
    获取某个public 修饰的构造方法
  • getDeclaredConstructor(CLass …)
    获取某个 构造方法
  • getConstructors()
  • getDeclaredConstructors()
		 Class<User> cla = User.class;

        //获取 user 类的所有构造方法
        Constructor<?>[] constructors = cla.getConstructors();

        Constructor<?> constructor = constructors[0];

        //通过构造方法创建对象
        User user = (User) constructor.newInstance();
 		//获取 user 的类对象
        Class<User> cla = User.class;

        //快速通过 无参构造方法,构建对象

        User user = cla.newInstance();
        System.out.println(user);

        User user1 = cla.getDeclaredConstructor().newInstance();

获取单个指定的构造方法

 @Test
    public void test04()throws Exception{
        //获取指定的某一个构造方法

        Class<?> clz = User.class;

        //获取有参构造
        Constructor<?> declaredConstructor = 		clz.getDeclaredConstructor(String.class,String.class);

        declaredConstructor.setAccessible(true);
        //调用有参构造,获取对象
        Object o = declaredConstructor.newInstance("张三","123");
        System.out.println(o);
    }
 @Test
    public void test05()throws Exception{
        //获取指定的某一个构造方法

        Class<?> clz = User.class;

        //获取无参构造
        Constructor<?> declaredConstructor = clz.getDeclaredConstructor();

        declaredConstructor.setAccessible(true);
        //调用无参构造,获取对象
        Object o = declaredConstructor.newInstance();
        System.out.println(o);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值