Imaginez simplement, si vous pouvez facilement appeler une méthode privée d'une classe, cela signifie-t-il que votre encapsulation a expiré? Récemment, je regardais le mécanisme de réflexion de Java et j'ai constaté qu'il pouvait réellement utiliser le mécanisme de réflexion de Java pour appeler des méthodes privées d'autres classes. Quant à ce que cela peut faire, c'est aux opinions des gens. .
Un exemple simple du code que j'ai écrit est le suivant:
Importer java.lang.reflect.invocationtargetException; import java.lang.reflect.method; / ** * @author thomaslwq * @version Création Temps: 4 sept IllégalArgumentException, illégalacces *** Ception, invocationTargetException {classe CLS = obj.getClass (); // Obtenez la méthode privée de la méthode de la classe Méthode = Cls.getDeclaredMethod ("privateMethod", null); Method.SetAccessible (true); // Une erreur sera signalée sans définir // appeler cette méthode.invoke (obj, null); } public static void main (String args []) lève la sécurité de sécurité, illégalargumentException, NosuchMethodeException, illégalacces *** ceception, invocationTargetException {setObjectColor (new myTest ()); }} // Test class myTest {public void setMyTest () {System.out.println ("setMyTest"); } / ** Méthode privée de classe ** / private void privateMethod () {System.out.println ("méthode privée"); }}La méthode privée ci-dessus (recommandée) qui utilise le mécanisme de réflexion Java pour appeler la classe est tout le contenu que je partage avec vous. J'espère que vous pourrez vous faire référence et j'espère que vous pourrez soutenir Wulin.com plus.