यह अधिक भार नमूना कोड हैप्रकार रूपांतरण और विधि
अंदर डबल
किसी कृपया मुझे बता सकते हैं क्यों Double
पैरामीटर के साथ अतिभारित विधि के बजाय कहा जाता है Object
के साथ?
यह अधिक भार नमूना कोड हैप्रकार रूपांतरण और विधि
अंदर डबल
किसी कृपया मुझे बता सकते हैं क्यों Double
पैरामीटर के साथ अतिभारित विधि के बजाय कहा जाता है Object
के साथ?
हां - क्योंकि Double
Object
से अधिक विशिष्ट है। Double
से Object
पर एक रूपांतरण है, लेकिन दूसरे तरीके से नहीं, जो इसे और अधिक विशिष्ट बनाता है।
अधिक जानकारी के लिए जेएलएस के section 15.12.2.5 देखें। विवरण सुंदर पालन करने के लिए कड़ी मेहनत कर रहे हैं, लेकिन यह मदद करता है:
अनौपचारिक अंतर्ज्ञान है कि एक विधि अन्य की तुलना में अधिक विशिष्ट है, यदि कोई हो मंगलाचरण पहली विधि द्वारा नियंत्रित एक compile- बिना एक दूसरे को पारित किया जा सकता है समय प्रकार त्रुटि।
तो यहाँ, display(Double doub)
के किसी भी मंगलाचरण display(Object obj)
द्वारा दौर नियंत्रित किया जा सकता है, लेकिन नहीं अन्य तरीके से।
धन्यवाद। "अनौपचारिक अंतर्ज्ञान यह है कि एक विधि किसी अन्य की तुलना में अधिक विशिष्ट होती है यदि पहली विधि द्वारा संभाला गया कोई भी आमंत्रण किसी अन्य को संकलित-समय प्रकार त्रुटि के बिना पारित किया जा सकता है।" – NINCOMPOOP
@noob: हाँ, मैं बस उस बिट को जोड़ रहा था :) –