反射获取成员变量并使用的练习

package ClassTest.ClassFieldsTest;

import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;

/**
* FileName: ReflectDemo02
* Author: lps
* Date: 2022/4/11 18:49
* Sign:刘品水 Q:1944900433
*/
public class ReflectDemo02 {
public static void main(String[] args) throws ClassNotFoundException, NoSuchMethodException, InvocationTargetException, InstantiationException, IllegalAccessException, NoSuchFieldException {
Class<?> c = Class.forName("ClassTest.ClassTest01.Student");
Constructor<?> con = c.getConstructor();
Object obj = con.newInstance();
System.out.println(obj);

Field namefield = c.getDeclaredField("name");
namefield.setAccessible(true);
namefield.set(obj,"刘品水");
System.out.println(obj);

Field agefield = c.getDeclaredField("age");
agefield.setAccessible(true);
agefield.set(obj,21);
System.out.println(obj);

Field adressfield = c.getDeclaredField("adress");
adressfield.setAccessible(true);
adressfield.set(obj,"南京");
System.out.println(obj);

}
}

 

posted @   刘品水  阅读(25)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示