मुझे पता था कि जावा में "मूल" एक विशेष बात है। यह बहुत सी चीजें कर सकता है। लेकिन मैं अभी इसे पढ़ने में सक्षम नहीं हूं। मुझे नहीं पता कि कैसे ... मुझे पता था कि यह जावा में एक अन्य गणित को बुला सकता है। मेरा सवाल है: क्या यह एक निजी विधि कह सकता है? यदि यह एक हां है, तो केवल उसी कक्षा या किसी अन्य वर्ग में? अगर यह दूसरे को बुला सकता है, तो क्या यह एक समस्या है कि शायद यह खतरनाक है? यानी, यह नियम तोड़ दिया। मैं नेटिव के बारे में और कहां प्राप्त कर सकता हूं? क्या कोई मुझे एक लिंक दिखा सकता है?क्या मूल विधि एक निजी विधि कॉल कर सकती है?
उत्तर
JNI Programmer's Guide and Specification:
यहाँ कार्य करता है और संकेत के विषय में JNI डॉक्स के प्रासंगिक अनुभाग है
"JNI वर्ग लागू नहीं करता है, क्षेत्र, और विधि अभिगम नियंत्रण प्रतिबंध जिन्हें जावा प्रोग्रामिंग भाषा स्तर पर निजी और अंतिम जैसे संशोधकों के उपयोग के माध्यम से व्यक्त किया जा सकता है। जावा में ऐसा करने के बावजूद किसी ऑब्जेक्ट के फ़ील्ड को एक्सेस या संशोधित करने के लिए मूल कोड लिखना संभव है प्रोग्रामिंग भाषा स्तर एक के लिए नेतृत्व करेंगे एन
IllegalAccessException
। । JNI के सहनशीलता एक सचेत डिजाइन निर्णय, दिया गया था कि मूल कोड वैसे भी पहुँच सकते हैं और ढेर में किसी भी स्मृति स्थान संशोधित कर सकते हैं "
तो अपने प्रश्नों के उत्तर दिए गए हैं:
यह एक फोन कर सकते हैं निजी विधि?
हां।
अगर यह एक हाँ है, तो केवल रों में एमई कक्षा या कोई अन्य कक्षाएं?
कोई भी वर्ग।
यदि यह दूसरे को कॉल कर सकता है, तो क्या यह एक समस्या है कि शायद यह खतरनाक है? यानी, यह नियम तोड़ दिया। सामान्य जावा पहुँच नियमों को लागू करने के लिए प्रयास नहीं करने के लिए
डिजाइनर 'औचित्य स्पष्ट रूप से पाठ ऊपर उद्धृत में कहा गया है। हां यह संभावित रूप से खतरनाक है, लेकिन किसी भी जेएनआई का उपयोग संभावित रूप से खतरनाक है।
आप जावा ऑब्जेक्ट पर निजी विधियों को कॉल कर सकते हैं जो जेएनआई इंटरफेस के माध्यम से देशी विधि में पास हो जाते हैं। जावा के भीतर यह वही बात नहीं है, अन्य जावा ऑब्जेक्ट्स पर कॉलिंग विधियां। आपको बहुत सावधान रहना होगा क्योंकि जेएनआई क्लास, फ़ील्ड और विधि एक्सेस कंट्रोल प्रतिबंधों को लागू नहीं करता है जो private
और final
जैसे संशोधक के उपयोग के माध्यम से व्यक्त किए जाते हैं। तो यह खतरनाक हो सकता है। उदाहरण के लिए, जेआईटी कंपाइलर ने इसे रेखांकित करने के बाद मूल कोड final
कक्षा के निरंतर क्षेत्र को संशोधित कर सकता है। में "10.9 का उल्लंघन अभिगम नियंत्रण नियम" इस कहते हैं http://docs.oracle.com/javase/6/docs/technotes/guides/jni/spec/design.html#wp16696
- 1. क्या सी # विधि एक विधि वापस कर सकती है?
- 2. एक निजी विधि
- 3. PHP - क्या कोई विधि एक सूचक वापस कर सकती है?
- 4. एक विधि कॉल
- 5. एक्शनबैरशेलॉक: एक विधि कॉल
- 6. self.xxx() का उपयोग करके एक निजी विधि xxx को किसी अन्य निजी विधि के भीतर कॉल करने के परिणामस्वरूप त्रुटि "निजी विधि 'xxx' कहा जाता है"
- 7. मुख्य विधि निजी क्यों है?
- 8. रोबोटियम और निजी विधि
- 9. विधि कॉल
- 10. विधि कॉल
- 11. क्या एक विधि एक ही कक्षा के किसी अन्य विधि का सजावट हो सकती है?
- 12. आरएसपीसी: स्टब निजी विधि
- 13. सी ++ इंटरफ़ेस में निजी विधि?
- 14. कॉल विधि
- 15. कॉल विधि?
- 16. विधि के लिए निजी Accessor
- 17. java.io.FileInputStream.readBytes (मूल विधि)
- 18. क्या ऐसी कोई विधि कॉल है "getBackgroundColor"?
- 19. सुरक्षित या निजी CSharp विधि/चर संभव क्यों कॉल कर रहा है?
- 20. सारणी विधि त्रुटि तब होती है जब पैकेज निजी विधि
- 21. रूबी क्लास प्रारंभ (कन्स्ट्रक्टर) निजी विधि या सार्वजनिक विधि है?
- 22. क्या एक आंतरिक कक्षा में कोई विधि अभिभावक वर्ग विधि तक पहुंच सकती है?
- 23. एक निजी विधि का नमूना कैसे लें
- 24. विधि इनलाइनिंग क्या है?
- 25. क्या यह एक init विधि में, एक init विधि को कॉल करना ठीक है?
- 26. क्या एक गैर एसिंक विधि में एक प्रतीक्षा योग्य विधि को कॉल करना संभव है?
- 27. निजी वर्ग (कक्षा विधि नहीं)?
- 28. क्या एक कोल्डफ्यूजन सीएफसी विधि अपना नाम निर्धारित कर सकती है?
- 29. निजी तरीकों पर विधि इंटरसेप्टर
- 30. क्या उप-वर्ग में सुपर क्लास में निजी विधि ओवरराइड की जा सकती है?
[जावा मूल निवासी इंटरफ़ेस प्रोग्रामर की मार्गदर्शिका और विशिष्टता] (http://java.sun.com/docs/books/jni/html/jniTOC.html) – Sujay
@Sujay THX! मैं समझ गया – blackdog