通过反射创建对象并赋值的方式



    public static void main(String[] args) {
    //通过反射创建对象
Class beanClass = Class.forName("app.test.Student");
            Student student= (Student) beanClass.newInstance();
            //利用反射将获取字段
            Field declaredField = student.getClass().getDeclaredField("age");
            Field declaredField2 = student.getClass().getDeclaredField("name");
         //  将相关字段访问权限设为可访问
            declaredField.setAccessible(true);
            declaredField2.setAccessible(true);

            declaredField.set(student, "18");
            declaredField2.set(student, "xiaoming");
            System.out.println(student.toString());
    }
 

getDeclaredField和getField的区别

  • getDeclaredFiled 仅能获取类本身的属性成员(包括私有、共有、保护)
  • getField 仅能获取类(及其父类可以自己测试) public属性成员
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值