2017-06-12 7 views
6

के मूल कार्यान्वयन को जावा में एक कक्षा के भीतर एक सार विधि बनाने की अनुमति है और फिर इसे जेएनआई का उपयोग करके एक मूल भाषा के साथ कार्यान्वित किया गया है।एक अमूर्त विधि

उदाहरण:

abstract class Mommy { 
abstract protected void call(); 
} 
class Son extends Mommy { 
native protected void call() /* 
'native code' 
*/ 
} 

क्या है अपेक्षित व्यवहार यह एक रनटाइम त्रुटि हो सकता है होता है या सब कुछ "वैकल्पिक हल" के साथ ठीक है?

+0

क्या आपने यह कोशिश की है? – Radiodef

+0

बेशक, यह संकलन प्रक्रिया के माध्यम से जाता है लेकिन मुझे आश्चर्य है कि बग प्रवण या किसी भी अच्छे/सर्वोत्तम प्रथाओं के खिलाफ? –

उत्तर

2

अपेक्षित व्यवहार क्या है यह एक रनटाइम त्रुटि है जो हो सकता है या सब कुछ "वर्कअराउंड" के साथ ठीक है?

बशर्ते आप मूल विधि (सही ढंग से) लागू करें और कार्यान्वयन वाले मूल पुस्तकालय को लोड करें, तो सब कुछ काम करता है।

मुझे आश्चर्य है कि बग प्रवण या किसी भी अच्छे/सर्वोत्तम प्रथाओं के खिलाफ?

नहीं, और नहीं।

या कम से कम, यह अधिक बग का खतरा याअधिक मूल कोड के किसी भी उपयोग की तुलना में "सबसे अच्छा अभ्यास" के खिलाफ नहीं है।

वैसे, आपको वास्तव में "सर्वोत्तम अभ्यास" जैसे डोडी शब्दों के आसपास बाँधने से पहले James Bach's "No Best Practices" article पढ़ना चाहिए।

संबंधित मुद्दे