मैं जावा सीखने वाला नौसिखिया हूं। जावा में हर स्रोत फ़ाइल में एक सार्वजनिक वर्ग होना चाहिए और उस स्रोत फ़ाइल का नाम उस सार्वजनिक वर्ग के समान होना चाहिए। इसके अलावा, कोई स्रोत फ़ाइल में दो सार्वजनिक कक्षाएं नहीं हो सकती हैं। यह प्रतिबंध क्यों है?
मैं जावा सीखने वाला नौसिखिया हूं। जावा में हर स्रोत फ़ाइल में एक सार्वजनिक वर्ग होना चाहिए और उस स्रोत फ़ाइल का नाम उस सार्वजनिक वर्ग के समान होना चाहिए। इसके अलावा, कोई स्रोत फ़ाइल में दो सार्वजनिक कक्षाएं नहीं हो सकती हैं। यह प्रतिबंध क्यों है?
जवाबों:
उनके एक जावा विशेषज्ञ समाचार पत्र में, हेंज काबुत्ज़ ओक भाषा विनिर्देशों के माध्यम से खोदता है । वह लिखता है:
प्रत्येक सार्वजनिक वर्ग एक अलग फ़ाइल में क्यों है? (अनुभाग एक)
यह एक ऐसा प्रश्न है जो मुझसे अक्सर मेरे पाठ्यक्रमों के दौरान पूछा जाता है। अब तक मेरे पास इस सवाल का अच्छा जवाब नहीं था। खंड 1 में, हम पढ़ते हैं: "हालांकि प्रत्येक ओक संकलन इकाई में कई वर्ग या इंटरफेस हो सकते हैं, प्रति संकलन इकाई में अधिकांश एक वर्ग या इंटरफ़ेस सार्वजनिक हो सकते हैं"।
साइडबार में यह समझाता है कि क्यों: "यह प्रतिबंध कंपाइलर द्वारा अभी तक लागू नहीं किया गया है, हालांकि यह कुशल कुशल आयातकों के लिए आवश्यक है"
यह बहुत स्पष्ट है - जैसे कि ज्यादातर चीजें डिज़ाइन के कारणों को जानने के बाद - संकलक को सभी संकलन इकाइयों (.java फ़ाइलों) के माध्यम से एक अतिरिक्त पास बनाना होगा ताकि यह पता लगाया जा सके कि कक्षाएं कहाँ थीं, और यह संकलन को और भी धीमा कर देगा। ।
कारण मैं सोच सकता हूं