समाचार पत्र के लिए साइन अप या मेरे आरएसएस फ़ीड प्राप्त करने के लिए स्वत : अद्यतन ब्लॉग !

एस्मा से रक्षा की एक विधि के बाहर या एक से वंचित वर्ग के जावा : सुनिश्चित करें कि यह असंभव है ?



यह सही जवाब है " पर निर्भर करता है की उपस्थिति या अनुपस्थिति के एक सुरक्षा प्रबंधक हैं . "

वास्तव में , के माध्यम से परावर्तन वास्तव में संभव है जाने के लिए सेना की बाधाओं के जावा भाषा के बिना अत्यधिक कठिनाई है , यह ठीक नहीं है ammenochè सुरक्षा प्रबंधक , वास्तव में केवल अभिनेता का प्रबंधन करने में सक्षम है और अंततः बंद इन बलों के प्रकार के हैं .

परन्तु अब हम आते है कि उदाहरण के मूल्य से अधिक के कई disquisizioni . निम्न वर्ग को देखते हैं :

  net.nothing2hide.test पैकेज ; सार्वजनिक वर्ग ClassWithMethodsToHack ( शून्य निजी sayHello ( स्ट्रिंग नाम ) ( System.out.println ( " नमस्ते " नाम     " ! आप एक निजी फोन विधि ");)) 

हम चाहते हैं कि कैसे प्रदर्शित करने के लिए आसानी से बाहर invocabile निजी विधि " sayHello " , जैसा कि मैंने पहले ही प्रत्याशित का उपयोग करने के लिए भारी परावर्तन :

  net.nothing2hide.test पैकेज ; सार्वजनिक वर्ग PrivateMethodInvocationTest ( / * ** यह दर्शाता नमूने को कैसे वर्ग * रक्षा की एक विधि के आह्वान पर एक अन्य वर्ग @ परम args * * * / स्थैतिक शून्य मुख्य सार्वजनिक ( स्ट्रिंग [ ] args ) ( स्ट्रिंग myName = " दाऊद " ; तरीका मी ; प्रयास करें ( / / Let'access निजी विधि / / द्वारा परछाई .  आप ऐसा ही कर सकते हैं / / के साथ रक्षा की एक विधि = मी ClassWithMethodsToHack.class.getDeclaredMethod ( " sayHello " , नई कक्षा [ ] ( ) String.class ) ; यदि ( मी ! = रिक्त ) ( / / दें जावा की भाषा की शक्ति का उपयोग / / जाँच पद्धति पर झलकती है .  नोट्स / / सुरक्षा प्रबंधक है कि यदि एक परिभाषित / / इस workaround की अनुमति नहीं किया जा सका / / SecurityException और एक m.setAccessible उठाया जा सकता है ( सही है ) , / / दें और अंततः के आह्वान की रक्षा की विधि m.invoke ( नया ClassWithMethodsToHack ( ) , नई ऑब्जेक्ट [ ] ( myName ));)) पकड़ ( अपवाद ई ) ( e.printStackTrace ();))) 
मेरे आरएसएस फ़ीड की सदस्यता लें क्या आप इस अनुच्छेद के समान है ? अब आरएसएस फ़ीड की सदस्यता लें !



फिर भी टिप्पणी नहीं '

आरएसएस फ़ीड की टिप्पणियां इस पोस्ट है . TrackBack यूआरआइ

टिप्पणी छोड़ें

XHTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>


वैध XHTML और सीएसएस . ^ Top


बंद करना
ई मेल से भेजें