public class Main { static final Logger logger = LoggerFactory.getLogger(Main.class); public static void main(String[] args) { logger.info("程序开始"); String name = "Xiao Ming"; int age = 20; Person p = new Person(); // TODO: 利用反射给name和age字段赋值: Class clsP = p.getClass(); logger.info("得到clsP 实例 {}",clsP); try { Field fNameclsP= clsP.getDeclaredField("name"); Field fAgeclsP = clsP.getDeclaredField("age"); fNameclsP.setAccessible(true); fAgeclsP.setAccessible(true); fNameclsP.set(p, name); fAgeclsP.set(p, 20); } catch (NoSuchFieldException | SecurityException |IllegalAccessException e ) { // TODO Auto-generated catch block ; logger.error("异常",e); } System.out.println(p.getName()); // "Xiao Ming" System.out.println(p.getAge()); // 20 } }
Sign in to make a reply
金黄新世界秩序