java反射

本文详细介绍了如何在Java中使用反射API,包括获取对象的私有字段值、遍历类的声明字段以及调用方法。通过实例展示了`getDeclaredField`、`setAccessible`和`invoke`等关键方法的用法。
摘要由CSDN通过智能技术生成

java反射

public class Test {
   public static void main(String[] args) throws NoSuchFieldException, IllegalAccessException, NoSuchMethodException, InvocationTargetException {
       Person person = new Person();
       Class<? extends Person> aClass = person.getClass();

       Field name = aClass.getDeclaredField("name");
       //获取属性名
       System.out.println(name.getName());
       //将private修饰的属性,设置为可以访问,不然获取私有属性就会报错
       name.setAccessible(true);
       //获取name的值
       System.out.println(name.getInt(person));
       System.out.println(name.get(person).toString());

       //获取类文件属性类型们
       Field[] declaredFields = aClass.getDeclaredFields();
       for (Field declaredField : declaredFields) {
           System.out.println(declaredField);
       }

       //获取对象的全限定类名
       System.out.println(aClass.getTypeName());

       //调用方法
       Method singSong = aClass.getDeclaredMethod("singSong");
       singSong.invoke(person);
   }
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值