चलें कहते हैं कि हम इन पैकेजों और वर्गों है:समान नामों के साथ स्थिर विधियों के स्थिर आयात क्यों वैध हैं?
package p1;
public class A1 {
public static void a() {}
}
package p2;
public class A1 {
public static void a() {}
}
package p3;
import static p1.A1.a;
import static p2.A1.a;
public class A1 {
public static void test() {
}
}
मैं सोच रहा हूँ, क्यों तरीकों में से स्थिर आयात कानूनी है (संकलन समय त्रुटि का कारण नहीं बनेगा) पैकेज p3
में? हम उन्हें test()
विधि में आगे उपयोग करने में सक्षम नहीं होंगे क्योंकि इस तरह के उपयोग के परिणामस्वरूप संकलन समय त्रुटि होगी।
यह कक्षाओं के सामान्य आयात के समान क्यों नहीं है। कहते हैं कि चलो हम p3
में संकुल p1
और p2
से कक्षाएं A1
आयात करना चाहते हैं:
package p3;
import p1.A1;
import p2.A1;
इस तरह के आयात अवैध है और संकलन समय त्रुटि का परिणाम देगा।
क्योंकि पैकेज और वर्ग संयोजन विशिष्ट रूप से दूसरे से एक विधि को अलग करता है। – duffymo
@ डफिमो - वह विशेष रूप से पूछ रहा है कि विधियों को स्थिर रूप से आयात किए जाने पर कोई नाम संघर्ष क्यों नहीं होता है, जिसे आप संबोधित नहीं करते हैं। – DaveRlz
मुझे लगता है कि मैं करता हूं। मुझे betweek a.b.c और a.d.c को अलग करने में कोई समस्या नहीं है; न ही संकलक करता है। – duffymo