Java 通過反射改變私有變量的值


直接上代碼
import java.lang.reflect.Field;
public class Main {
     public static void main(String[] args) throws Exception {
           TestA testA = new TestA();
           Class class1 = TestA.class;
           Field field = class1.getDeclaredField("i"); //  getDeclaredField可以獲取私有的變量
           field.setAccessible(true); // 為true時可以訪問私有類型變量
           field.set(testA, 111); // 將i的值設置為111
           System.out.println(testA.getI()); // 通過getI方法輸出i的值
     }
}
class TestA {
     private Integer i = 10;
     public Integer getI() {
           return i;
     }
}
 
結果:111


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM