2010-03-02 13 views
5

क्या एक्लिप्स में एक जावा फ़ाइल में कई कक्षाएं हो सकती हैं? या क्या मुझे वास्तव में एक अलग फ़ाइल में होना चाहिए?ग्रहण में केवल एक फ़ाइल में कई कक्षाएं हो सकती हैं?

क्या यह ग्रहण द्वारा लगाए गए कुछ है, या जावा कंपाइलर के पास एक ही फाइल में सबकुछ रखने के खिलाफ कुछ है?

उत्तर

10

जावा स्पेक के अनुसार, आपके पास प्रति फ़ाइल केवल एक सार्वजनिक कक्षा हो सकती है (यह ग्रहण नियम नहीं है)। आपके पास सार्वजनिक कक्षा के समान फ़ाइल में inner classes, या स्थैतिक कक्षाएं हो सकती हैं।

+0

केवल एक शीर्ष सार्वजनिक वर्ग और जितनी चाहें उतनी सार्वजनिक आंतरिक कक्षाओं को अनुमति दी गई। – JonyD

0

यह एक भाषा आवश्यकता है। एक फ़ाइल में कक्षाओं को एम्बेड करने का एकमात्र तरीका आंतरिक कक्षाएं बना रहा है।

1

आपके पास जावा में केवल एक फ़ाइल में एकाधिक कक्षाएं हो सकती हैं (यह जावा प्रतिबंध है) लेकिन फ़ाइल में केवल एक वर्ग हो सकती है जो सार्वजनिक है, और उस वर्ग में फ़ाइल के समान नाम होना चाहिए। आम तौर पर आप केवल दो वर्गों को एक फ़ाइल में डालते हैं यदि दूसरी कक्षा का मतलब केवल प्रथम श्रेणी या उसके करीबी पड़ोसियों द्वारा किया जाता है।

1

आपके पास केवल एक शीर्ष स्तरीय कक्षा या इंटरफ़ेस हो सकता है, और इसके अंदर आंतरिक कक्षाओं (स्थिर या अन्यथा) की घोषणाएं हो सकती हैं। यह एक प्रतिबंध है जो जावा से आता है, ग्रहण से नहीं। वास्तव में, ग्रहण के लिए C++ संपादक को C++ फ़ाइलों के लिए इसके साथ कोई समस्या नहीं होगी।

3

ग्रहण प्रासंगिक जावा standard का पालन करता है। शीर्ष स्तर पर, एक एकल स्रोत फ़ाइल किसी भी वर्ग की घोषणा कर सकती है, लेकिन केवल एक ही सार्वजनिक हो सकती है। किसी अन्य के पास package-private पहुंच है।

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