美文网首页
反射(变量)

反射(变量)

作者: 心旋律 | 来源:发表于2018-01-13 17:04 被阅读0次

加载字节码文件,获取Class类对象

Class cls = Class.forName("com.qfedu.a_reflect.Person");

获取所有用public修饰的成员变量

Field[] allPublicFields = cls.getFields();

for (Field field : allPublicFields) {

System.out.println(field);

}

获取所有的成员变量

Field[] allFields = cls.getDeclaredFields();

for (Field field : allFields) {

System.out.println(field);

}

Field aPublicField = cls.getField("test");

System.out.println(aPublicField);

set方法

//set(Oject obj, Object value);

//第一个参数: 要操作的是哪一个对象里面的成员变量

//第二个参数: 需要设置的值

Person p = (Person) cls.getConstructor(int.class, String.class).

newInstance(1, "狗蛋");

aPublicField.set(p, 20);

System.out.println("44" + p.test);

System.out.println("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$");

Field aStaticField = cls.getField("testStatic");

System.out.println(aStaticField);

aStaticField.set(null, 20);

System.out.println(Person.testStatic);

System.out.println("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$");

Field aPrivateField = cls.getDeclaredField("id");

System.out.println(aPrivateField);

aPrivateField.setAccessible(true);

aPrivateField.set(p, 10);

System.out.println(p.getId());

相关文章

  • 反射(变量)

    加载字节码文件,获取Class类对象 Class cls = Class.forName("com.qfedu.a...

  • 34. 反射

    34. 反射 反射是 Go 语言的高级主题之一。 分为如下小节。 什么是反射? 为何需要检查变量,确定变量的类型?...

  • 反射三定律

    反射第一定律:反射可以将interface类型变量转换成反射对象 反射第二定律:反射可以将反射对象还原成inter...

  • 反射

    反射的基本介绍 反射可以在运行时动态获取变量的各种信息,比如变量的类型、类别 如果是结构体的变量,还可以获取到结构...

  • 反射

    反射是什么 使用字符串数据类型的变量名来获取这个比变量的值 为什么要用反射 三个反射应用场景 input只能输入字...

  • Java基础之反射

    Java-Reflect Class类的使用 方法的反射 成员变量的反射 构造函数的反射 Java类加载机制 一、...

  • Java基础回归之反射Reflection

    反射是什么鬼 反射其实就是允许我们获取目标类的方法、成员变量等信息,以及可以调用、改变某些方法和成员变量的值。( ...

  • 【Java】java反射基础示例

    还有很多其它方法,本文只是几个简单的例子 反射某个对象obj的成员变量 反射获取某个对象所有Uri类型的成员变量值...

  • 反射Class

    class类的使用 方法的反射 成员变量的反射 构造函数的反射 Java类加载机制 反射帮我们做一些程序运行时刻的...

  • Spring 容器管理 反射生成的类

    问题 & 背景 【问题描述】在开发中通过反射生成了类,反射类中注入的成员变量为null 【问题原因】因为反射生成的...

网友评论

      本文标题:反射(变量)

      本文链接:https://www.haomeiwen.com/subject/ucncoxtx.html