Bonjour,
je cherche à savoir si dans le cas où j'ai un champ "private" s'il y a moyen de forcer l'accès à ce champ là dans le source ou dans le bytecode.
Nad.
Bonjour,
je cherche à savoir si dans le cas où j'ai un champ "private" s'il y a moyen de forcer l'accès à ce champ là dans le source ou dans le bytecode.
Nad.

Salut,
Tu veux avoir accès a un attribut privé depuis l'extérieur de la classe?
Ben dans le byte code je ne sais pas, et dans la source tu peux le passer en public. XD
Mais je pense que ce n'est pas tout a fait la réponse que tu attendais. Est-ce que tu veux "craquer" un code ? ou un truc du genre?
l'attribut que j'ai reste en "private".
je sais qu'en C++ on peut spécifier qu'une class B est "friendly" à A, et dans ce cas là j'ai droit a l'accès au attributs "private" de la classe A depuis la classe B...
ps: encore une fois j'expose mon problème de sorte que le source de A n'est pas modifiable (ni le bytecode d'ailleurs).
Tu peux y accéder par réflection et utiliser la méthode setAccessible(true) pour accéder à un champ private![]()
donc si j'ai un champ "x" qui est privé dans la classe A, je peux y accéder à partir d'une classe B avec x.setAccessible(true) ??
et si c'est le cas dois-je mettre à la fin un x.setAccessible(false)??
Merci "Baptiste Wicht", je viens de voir la page :
http://www.developpez.net/forums/d40...setaccessible/
l'exemple qui est donné est très clair, je pourrai dire alors que c'est![]()
Partager