package com.example.demo.model; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; public class Dog { private Name dogName; public Name getName() { return dogName; } public void setName(Name name) { this.dogName = name; } @Override public String toString() { return "Dog{" + "dogName=" + dogName + ‘}‘; } public static void main(String[] args) throws NoSuchFieldException, IllegalAccessException, NoSuchMethodException, InvocationTargetException { Dog dog = new Dog(); Name name = new Name(); name.setMiddleName("WW"); dog.setName(name); Field dogName = dog.getClass().getDeclaredField("dogName"); dogName.setAccessible(true); Object dogNameObj = dogName.get(dog); Field middleName = dogNameObj.getClass().getDeclaredField("middleName"); middleName.setAccessible(true); middleName.set(dogNameObj,"kk"); System.out.println(dog); } }
package com.example.demo.model; public class Name { private String middleName; public String getMiddleName() { return middleName; } public void setMiddleName(String middleName) { this.middleName = middleName; } @Override public String toString() { return "Name{" + "middleName=‘" + middleName + ‘\‘‘ + ‘}‘; } }
原文:https://www.cnblogs.com/infiniteaaaaa/p/14320544.html