java - Why is the output like this? -


  वर्ग अन्य {सार्वजनिक शून्य विधि (ऑब्जेक्ट ओ) {System.out.println ("यह विधि में है वस्तु लेता है "); } सार्वजनिक शून्य विधि (स्ट्रिंग्स) {System.out.println ("यह विधि जो स्ट्रिंग लेती है"); }} सार्वजनिक वर्ग न्यूक्लास {सार्वजनिक स्थिर शून्य मुख्य (स्ट्रिंग एजीआर []) {एक और एक = नया और (); an.method (शून्य); }}  

जब मैं इसे निष्पादित करने की कोशिश करता हूं, तो मुझे

मिलता है जो विधि है

के रूप में उत्पादन। क्यों नहीं "यह विधि में है जो वस्तु लेता है"? ऑब्जेक्ट रिक्त भी हो सकता है और स्ट्रिंग भी रिक्त हो सकती है, यह पहली विधि क्यों नहीं लाती है?

अनुसार, ओवरलोड किए गए तरीकों के ऐसे मामलों में जहां दोनों तरीकों प्रदान किए गए तर्कों को संभाल सकते हैं, अधिक विशिष्ट तर्क के साथ विधि चुना जाता है। चूंकि स्ट्रिंग ऑब्जेक्ट ( स्ट्रिंग extends ऑब्जेक्ट से अधिक विशिष्ट है), शून्य विधि (स्ट्रिंग) < / कोड> चुना जाता है और बुलाया जाता है।


Comments

Popular posts from this blog

windows - Heroku throws SQLITE3 Read only exception -

lex - Building a lexical Analyzer in Java -

python - rename keys in a dictionary -