获取属性和对属性进行赋值
package com.liu.test03; import java.lang.reflect.Field; import java.lang.reflect.Modifier; /** * @author : liu * 日期:15:46:06 * 描述:IntelliJ IDEA * 版本:1.0 */ public class Test02 { //这是一个main方法:是程序的入口 public static void main(String[] args) throws Exception { //获取运行时类的字节码信息 Class cls=Student.class; //获取属性: //getFields获取运行时类和父类中被public修饰的属性 Field[] fields = cls.getFields(); for (Field field:fields ) { System.out.println(field); } System.out.println("--------------------"); //getDeclaredFields获取运行时类中的所有属性 Field[] declaredFields = cls.getDeclaredFields(); for (Field declaredField : declaredFields) { System.out.println(declaredField); } System.out.println("---------------"); //获取指定的属性 Field name = cls.getField("name"); System.out.println(name); Field sno = cls.getDeclaredField("sno"); System.out.println(sno); System.out.println("------------------"); //属性的具体结构: //获取修饰符 int modifiers = name.getModifiers(); System.out.println(modifiers); System.out.println(Modifier.toString(modifiers)); System.out.println(Modifier.toString(name.getModifiers())); //获取属性的类型 Class aClass = name.getType(); System.out.println(aClass.getName()); //获取属性的名字: String name1 = name.getName(); System.out.println(name1); System.out.println("--------------------"); //给属性赋值:(给属性设置值必须要有对象) Field sco = cls.getField("score"); Object obj = cls.newInstance(); sco.set(obj,98);//给obj这个对象的score属性设置具体的值,这个值为98 System.out.println(obj); } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本