2009-10-02 6 views
6

क्या उनके पास जावा में सी # स्थिर वर्गों के बराबर है?क्या उनके पास जावा में सी # स्थिर कक्षाओं के बराबर है?

मैं एक सी # स्थिर वर्ग बनाना चाहता हूं लेकिन जावा में, मैं इसे कैसे कर सकता हूं?

सहायता के लिए धन्यवाद।

संपादित करें: सहायता लोगों के लिए धन्यवाद। :)

उत्तर

17

जावा कक्षाओं में स्थिर सदस्य हैं, लेकिन कोई स्थिर वर्ग नहीं है, जैसे सी #।

सी # स्थिर वर्ग संशोधक वास्तव में कक्षा के बारे में कुछ भी उपयोग दृष्टिकोण से नहीं बदलता है, हालांकि। इंस्टेंस वैरिएबल जोड़ने से, यह संकलन समय पर, आपको रोकता है।

आप जावा में एक कक्षा बना सकते हैं जो प्रत्येक सदस्य को स्थिर के रूप में घोषित करके सी # स्थिर वर्ग की तरह काम करेगा। विवरण के लिए "Understanding Instance and Class Members" पर ट्यूटोरियल अनुभाग देखें।

+0

की तुलना में अधिक व्यापक स्रोत से परामर्श तक अभ्यास करें। नेट 1.1 में हाँप मुझे वांछित प्रभाव प्राप्त करने के लिए एक निजी निर्माता के साथ एक सीलबंद कक्षा बनाना याद है। – RichardOD

+0

यह आपको इंस्टेंस विधियों, ऑपरेटर अधिभार या 'नए' अभिव्यक्तियों को जोड़ने से समय संकलित करने पर भी रोकता है जो कक्षा के उदाहरण आवंटित करेंगे। –

8

नहीं। बस सब कुछ स्थिर चिह्नित करें। संभावित रूप से एक निजी कन्स्ट्रक्टर जोड़ें जो एक त्रुटि फेंकता है और कक्षा final बनाता है।

+2

मैंने कभी यह कोशिश नहीं की है, लेकिन यदि आप कक्षा को अंतिम और सार के रूप में चिह्नित करने का प्रयास करते हैं तो क्या होता है? – Powerlord

+2

दुर्भाग्यवश, यह 'अंतिम' और 'सार' दोनों नहीं हो सकता है। लेकिन अच्छा मुद्दा। –

+0

आपको संकलन समय त्रुटि मिल जाएगी। – RichardOD

0

प्रत्येक ओओ भाषा में, स्थैतिक वर्ग घोषणा के लिए एक अच्छा (अधिक लचीला) विकल्प सिंगलटन पैटर्न का उपयोग करना है।

हालांकि, यदि आपकी कक्षा एक शुद्ध उपयोगिता वर्ग है, तो आप अपने सभी सदस्यों/विधियों को स्थैतिक घोषित कर सकते हैं।

+3

एक सिंगलटन बस इसे उपयोग करना अधिक कठिन बनाता है। –

+4

यदि समस्या का हल एक सिंगलटन जोड़ना है, तो अब आपको दो समस्याएं मिली हैं ... –

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