我試圖通過反射來獲取靜態私有屬性的值,但它失敗並顯示錯誤。是否可以通過反射調用私有屬性或方法
Class class = home.Student.class;
Field field = studentClass.getDeclaredField("nstance");
Object obj = field.get(null);
我得到的例外是:
java.lang.IllegalAccessException: Class com.test.ReflectionTest can not access a member of class home.Student with modifiers "private static".
此外,還有一個私人我需要調用,用下面的代碼。
Method method = studentClass.getMethod("addMarks");
method.invoke(studentClass.newInstance(), 1);
但問題是Student類是單例類,而構造函數是私有的,無法訪問。
的構造函數是私有的,我們仍然可以調用,通過使用'newInstance'方法??? –