मैं एक परीक्षा के लिए अभ्यास कर रहा हूं, और एक नमूना समस्या मिली जो मुझे समझ में नहीं आ रही है।बराबर विधि से संबंधित जावा कोड
निम्न कोड के लिए, लगता है क्या उत्पादन होता है:
public class Test {
private static int count = 0;
public boolean equals(Test testje) {
System.out.println("count = " + count);
return false;
}
public static void main(String [] args) {
Object t1 = new Test();
Object t2 = new Test();
Test t3 = new Test();
Object o1 = new Object();
++count; t1.equals(t2);
++count; t1.equals(t3);
++count; t3.equals(o1);
++count; t3.equals(t3);
++count; t3.equals(t2);
}
}
इस कोड के उत्पादन में count = 4
है, लेकिन मैं क्यों समझ में नहीं आता। क्या कोई मेरी मदद कर सकता है?
"इस तरह के कोड को क्या करता है" का सही उत्तर होना चाहिए "बहुत चालाक प्रोग्रामर निकाल दिया जाता है।" – fluffy
मैं आधुनिक जावा से बहुत परिचित नहीं हूं, क्या आप चतुरता @fluffy को इंगित कर सकते हैं? – Daniel
@ डैनियल ईरान के उत्तर को देखते हैं - विधि उद्देश्य पैरामीटर के कॉल-साइट प्रकार के आधार पर इसका बहुत अलग व्यवहार है, एक उद्देश्यपूर्ण भ्रमित विधि अधिभार के लिए धन्यवाद। – fluffy