2021-01-05

java 反射中的方法

  1. 创建了一个类Person,其中设置Name的方法setName()和设置Age的方法setAge(),通过反射的方式来获取。
		//      1.加载类
        Class pClass = Class.forName("com.zm.bean.Person");
        //      2.获取类的构造方法
        Constructor c = pClass.getDeclaredConstructor();
        //      3.设置忽略权限
        c.setAccessible(true);
        //      4.创建对象
        Object o = c.newInstance();
        //      5.获取方法
        //		参数1.字符串类型的方法名
        //		参数2.该方法中参数使用的类型
        Method setName = pClass.getMethod("setName", String.class);
        Method setAge = pClass.getDeclaredMethod("setAge", int.class);
        setAge.setAccessible(true);

        //      6.使用setName方法
        //      参数1.哪个对象要执行setName方法
        //      参数2.调用方法时传递的参数
        setName.invoke(o, "张三");
        setAge.invoke(o, 19);
        System.out.println(o);
  1. 其中setAge()设置成了private,所以要用getDeclaredMethod()来获取方法并忽略权限的。
  2. 下面是输出结果
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值