2012-02-04 21 views
5

यह अधिक भार नमूना कोड हैप्रकार रूपांतरण और विधि

अंदर डबल

किसी कृपया मुझे बता सकते हैं क्यों Double पैरामीटर के साथ अतिभारित विधि के बजाय कहा जाता है Object के साथ?

उत्तर

6

हां - क्योंकि DoubleObject से अधिक विशिष्ट है। Double से Object पर एक रूपांतरण है, लेकिन दूसरे तरीके से नहीं, जो इसे और अधिक विशिष्ट बनाता है।

अधिक जानकारी के लिए जेएलएस के section 15.12.2.5 देखें। विवरण सुंदर पालन करने के लिए कड़ी मेहनत कर रहे हैं, लेकिन यह मदद करता है:

अनौपचारिक अंतर्ज्ञान है कि एक विधि अन्य की तुलना में अधिक विशिष्ट है, यदि कोई हो मंगलाचरण पहली विधि द्वारा नियंत्रित एक compile- बिना एक दूसरे को पारित किया जा सकता है समय प्रकार त्रुटि।

तो यहाँ, display(Double doub) के किसी भी मंगलाचरण display(Object obj) द्वारा दौर नियंत्रित किया जा सकता है, लेकिन नहीं अन्य तरीके से।

+0

धन्यवाद। "अनौपचारिक अंतर्ज्ञान यह है कि एक विधि किसी अन्य की तुलना में अधिक विशिष्ट होती है यदि पहली विधि द्वारा संभाला गया कोई भी आमंत्रण किसी अन्य को संकलित-समय प्रकार त्रुटि के बिना पारित किया जा सकता है।" – NINCOMPOOP

+0

@noob: हाँ, मैं बस उस बिट को जोड़ रहा था :) –

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