Stellen Sie sich vor, wenn Sie leicht eine private Methode einer Klasse aufrufen können, bedeutet dies, dass Ihre Kapselung abgelaufen ist? Vor kurzem habe ich den Reflexionsmechanismus von Java untersucht und festgestellt, dass er den Reflexionsmechanismus von Java tatsächlich verwenden kann, um private Methoden anderer Klassen aufzurufen. Was das tun kann, liegt es an den Meinungen der Menschen. .
Ein einfacher Beispielcode, den ich schrieb, lautet wie folgt:
importieren java.lang.reflect.invocationTargetException; import Java.lang.reflect.method;/** * @author thomaslwq * @Version Creation Time: Sep 4, 2012 9:53:49 PM * Klasse Beschreibung IllegalArgumentException, illegalAcces *** caption, invocationTargetException {class cls = obj.getClass (); // private Methode der Klassenmethode abrufen method.setAccessible (true); // Ein Fehler wird gemeldet, ohne dass // diese Methode aufrufen.invoke (obj, null); } public static void main (String args []) löst SecurityException, illegalArgumentException, NoSuchMethodException, IllegalAcces *** caption, invocationTargetException {setObjectColor (neu myTest ()) aus; }} // Klasse myTest {public void setMyTest () {System.out.println ("setMyTest"); } / ** Private Methode der Klasse ** / private void privatemethod () {System.out.println ("private Methode"); }}Die obige private Methode (empfohlen), die den Java -Reflexionsmechanismus verwendet, um die Klasse aufzurufen, ist der gesamte Inhalt, den ich mit Ihnen teile. Ich hoffe, Sie können Ihnen eine Referenz geben und ich hoffe, Sie können wulin.com mehr unterstützen.