Представьте себе, что если вы можете легко назвать личный метод класса, то значит ли это, что ваша инкапсуляция истек? Недавно я смотрел на механизм отражения Java и обнаружил, что он может на самом деле использовать механизм отражения Java, чтобы назвать частные методы других классов. Что касается того, что это может сделать, это зависит от мнений людей. Полем
Простой пример кода, который я написал, заключается в следующем:
Импорт java.lang.reflect.invocationTargetException; import java.lang.reflect.method;/** * @author thomaslwq * @version время создания: 4 сентября 2012 г. 9:53:49 PM * class descuris AllodalargumentException, allectalacces *** ception, vococationTargetException {class cls = obj.getClass (); // Получить личный метод метода класса метода = cls.getDeclaredMethod ("privatemethod", null); method.setAccessible (true); // Ошибка будет сообщена без настройки // вызов этого метода.invoke (obj, null); } public static void main (string args []) бросает SecurityException, allodalargumentException, nosuchmethodexception, allodalacces *** ception, volcocationTargetException {setObjectColor (new MyTest ()); }} // тестовый класс myTest {public void setMyTest () {System.out.println ("setMyTest"); } / ** Частный метод класса ** / private void privatemethod () {System.out.println ("Private Method"); }}Приведенный выше частный метод (рекомендуется), который использует механизм отражения Java для вызова класса, - это весь контент, которым я делюсь с вами. Я надеюсь, что вы можете дать вам ссылку, и я надеюсь, что вы сможете поддержать Wulin.com больше.