Java की क्लास या टाइप बनाना

नई क्लास बनाएं डायलॉग और फ़ाइल टेंप्लेट की मदद से, Android Studio में ये नई क्लास और टाइप तुरंत बनाए जा सकते हैं:

  • Java क्लास
  • इन्यूमरेशन और सिंगलटन क्लास
  • इंटरफ़ेस और एनोटेशन के टाइप

नई क्लास बनाएं डायलॉग फ़ील्ड भरने और ठीक है पर क्लिक करने के बाद, Android Studio एक .java फ़ाइल बनाता है. इसमें स्केलेटन कोड होता है. इसमें पैकेज स्टेटमेंट, ज़रूरी इंपोर्ट, हेडर, और क्लास या टाइप का एलान शामिल होता है. इसके बाद, इस फ़ाइल में अपना कोड जोड़ा जा सकता है.

फ़ाइल टेंप्लेट से यह तय होता है कि Android Studio, स्केलेटन कोड कैसे जनरेट करता है. Android Studio में दिए गए फ़ाइल टेंप्लेट का इस्तेमाल, वैसे ही किया जा सकता है या अपनी डेवलपमेंट प्रोसेस के हिसाब से उन्हें पसंद के मुताबिक बनाया जा सकता है.

फ़ाइल टेंप्लेट देखना और उन्हें पसंद के मुताबिक बनाना

Android Studio, फ़ाइल टेंप्लेट उपलब्ध कराता है. इनसे यह तय होता है कि नई क्लास बनाएं डायलॉग बॉक्स की मदद से, नई Java क्लास और टाइप कैसे बनाए जाते हैं. इन टेंप्लेट को अपनी पसंद के मुताबिक बनाया जा सकता है.

'नई क्लास बनाएं' डायलॉग.

पहली इमेज. नई क्लास बनाएं डायलॉग.

Android Studio फ़ाइल टेंप्लेट में, वेलोसिटी टेंप्लेट लैंग्वेज (VTL) कोड और वैरिएबल शामिल होते हैं, जो इन अतिरिक्त विकल्पों को मैनेज करते हैं. नई क्लास बनाएं डायलॉग बॉक्स, AnnotationType, Class, Enum, Interface, और Singleton फ़ाइल टेंप्लेट का इस्तेमाल करता है.

टेंप्लेट देखने, पसंद के मुताबिक बनाने, और उनमें बदलाव करने के लिए, यह तरीका अपनाएं:

  1. निम्न में से कोई एक कार्य करें:

    • Windows या Linux के लिए, फ़ाइल > सेटिंग > एडिटर > फ़ाइल और कोड टेंप्लेट > फ़ाइलें चुनें.
    • macOS के लिए, Android Studio > प्राथमिकताएं > एडिटर > फ़ाइल और कोड टेंप्लेट > फ़ाइलें चुनें.

    टेंप्लेट की सूची में, इंटरनल टेंप्लेट के नाम बोल्ड फ़ॉन्ट में होते हैं. पसंद के मुताबिक बनाए गए टेंप्लेट के नाम, हाइलाइट किए गए रंग में दिखते हैं. जैसे, नीला.

  2. फ़ाइल टेंप्लेट को ज़रूरत के मुताबिक बनाएं.

    अगर आपको नई क्लास बनाएं डायलॉग फ़ील्ड का इस्तेमाल करना है, तो पक्का करें कि आपके बदलाव, Android Studio फ़ाइल टेंप्लेट कोड के मुताबिक हों.

VTL के साथ-साथ फ़ाइल टेंप्लेट के बारे में ज़्यादा जानकारी के लिए, फ़ाइल और कोड टेंप्लेट और फ़ाइल और कोड टेंप्लेट डायलॉग देखें.

Java क्लास या टाइप बनाना

Android Studio की मदद से, फ़ाइल टेंप्लेट के आधार पर नई Java क्लास, एनोटेशन टाइप, इंटरफ़ेस, और एनोटेशन टाइप बनाए जा सकते हैं. साथ ही, एनोटेशन और सिंग्लटन क्लास भी बनाई जा सकती हैं.

नई Java क्लास या टाइप बनाने के लिए, यह तरीका अपनाएं:

  1. प्रोजेक्ट विंडो में, किसी Java फ़ाइल या फ़ोल्डर पर राइट क्लिक करें और नया > Java क्लास चुनें.
  2. इसके अलावा, प्रोजेक्ट विंडो में जाकर कोई Java फ़ाइल या फ़ोल्डर चुनें या कोड एडिटर में जाकर किसी Java फ़ाइल पर क्लिक करें. इसके बाद, फ़ाइल > नया > Java क्लास चुनें.

    आपने जो आइटम चुना है उसके हिसाब से नई क्लास या टाइप के लिए डिफ़ॉल्ट पैकेज तय होता है.

  3. नई कक्षा बनाएं डायलॉग में, फ़ील्ड भरें:
    • नाम - नई क्लास या टाइप का नाम. यह नाम, Java के नाम से जुड़ी ज़रूरी शर्तों के मुताबिक होना चाहिए. फ़ाइल के नाम का एक्सटेंशन न लिखें.
    • टाइप - क्लास या टाइप की कैटगरी चुनें.
    • सुपरक्लास - वह क्लास जिससे आपकी नई क्लास को इनहेरिट किया जाता है. पैकेज और क्लास का नाम या सिर्फ़ क्लास का नाम टाइप करें. इसके बाद, ड्रॉप-डाउन सूची में किसी आइटम पर डबल क्लिक करके, उसे अपने-आप पूरा होने दें.
    • इंटरफ़ेस - एक या उससे ज़्यादा इंटरफ़ेस, जिन्हें नई क्लास या टाइप लागू करता है. एक से ज़्यादा इंटरफ़ेस को कॉमा लगाकर अलग किया जाना चाहिए. इसके बाद, एक स्पेस देना ज़रूरी नहीं है. पैकेज और इंटरफ़ेस का नाम या सिर्फ़ इंटरफ़ेस का नाम टाइप करें. इसके बाद, ड्रॉप-डाउन सूची में किसी आइटम पर डबल क्लिक करके, उसे अपने-आप पूरा होने दें.
    • अपने-आप पूरा होने की सुविधा, सिर्फ़ इंटरफ़ेस के पहले नाम के लिए काम करती है. ध्यान दें कि कॉमा और उसके बाद के इंटरफ़ेस के नाम से टूलटिप गड़बड़ी दिख सकती है. हालांकि, इस गड़बड़ी को अनदेखा किया जा सकता है, क्योंकि इससे जनरेट किए गए कोड पर कोई असर नहीं पड़ता.

    • पैकेज - वह पैकेज जिसमें क्लास या टाइप मौजूद होगा. डिफ़ॉल्ट वैल्यू, फ़ील्ड में अपने-आप दिखती है. अगर फ़ील्ड में पैकेज का नाम लिखा जाता है, तो पैकेज आइडेंटिफ़ायर के ऐसे हिस्सों को लाल रंग से हाइलाइट किया जाता है जो मौजूद नहीं हैं. इस मामले में, ठीक है पर क्लिक करने के बाद, Android Studio पैकेज बनाता है. इस फ़ील्ड में कोई वैल्यू होनी चाहिए. ऐसा न होने पर, Java फ़ाइल में package स्टेटमेंट नहीं होगा और प्रोजेक्ट में क्लास या टाइप को पैकेज में नहीं रखा जाएगा.
    • डिफ़ॉल्ट रूप से, यह इस बात पर निर्भर करता है कि आपने नई क्लास बनाएं डायलॉग को कैसे लॉन्च किया था. अगर आपने प्रोजेक्ट विंडो में सबसे पहले कोई Java फ़ाइल या फ़ोल्डर चुना है, तो आपके चुने गए आइटम के लिए पैकेज डिफ़ॉल्ट रूप से सेट होता है. अगर आपने कोड एडिटर में पहली बार किसी Java फ़ाइल पर क्लिक किया है, तो डिफ़ॉल्ट रूप से वह पैकेज दिखेगा जिसमें यह फ़ाइल शामिल है.

    • किसको दिखे - चुनें कि क्लास या टाइप सभी क्लास को दिखेगा या सिर्फ़ अपने पैकेज में शामिल क्लास को.
    • बदलाव करने वाले एलिमेंट - किसी क्लास के लिए, अब्स्ट्रैक्ट या फ़ाइनल में से कोई एक बदलाव करने वाला एलिमेंट चुनें या कोई भी न चुनें.
    • ओवरराइड चुनने के लिए डायलॉग बॉक्स दिखाएं - क्लास के टाइप के लिए, ठीक है पर क्लिक करने के बाद, ओवरराइड करने/लागू करने के लिए तरीके चुनने वाला डायलॉग बॉक्स खोलने के लिए, यह विकल्प चुनें. इस डायलॉग में, उन तरीकों को चुना जा सकता है जिन्हें आपको बदलना है या लागू करना है. इसके बाद, Android Studio इन तरीकों के लिए स्केलेटन कोड जनरेट करेगा.

    टाइप पर लागू न होने वाले फ़ील्ड छिपे जाते हैं.

  4. ठीक है पर क्लिक करें.
  5. Android Studio, स्केलेटन कोड के साथ एक Java फ़ाइल बनाता है, जिसमें बदलाव किया जा सकता है. इससे फ़ाइल, कोड एडिटर में खुल जाती है.

ध्यान दें: सिंगलटन क्लास बनाने के लिए, फ़ाइल > नया > सिंगलटन या फ़ाइल > नया > Java क्लास चुनें. दूसरी टेक्नोलॉजी से ज़्यादा विकल्प मिलते हैं.

Android Studio के फ़ाइल टेंप्लेट

इस सेक्शन में, VTL स्क्रिप्टिंग भाषा में लिखा गया Android Studio फ़ाइल टेंप्लेट कोड दिया गया है. इसके बाद, वैरिएबल की परिभाषाएं दी गई हैं. नई क्लास बनाएं डायलॉग में दी गई वैल्यू, टेंप्लेट में वैरिएबल वैल्यू बन जाती हैं. ध्यान दें कि #if (${VISIBILITY} से शुरू होने वाली लाइनें, ओपन ब्रैकेट ({ ) तक जाती हैं.

AnnotationType फ़ाइल टेंप्लेट

#if (${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end

#if (${IMPORT_BLOCK} != "")${IMPORT_BLOCK}
#end
#parse("File Header.java")

#if (${VISIBILITY} == "PUBLIC")public #end @interface ${NAME} #if (${INTERFACES} != "")extends ${INTERFACES} #end {
}

क्लास फ़ाइल का टेंप्लेट

#if (${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end

#if (${IMPORT_BLOCK} != "")${IMPORT_BLOCK}
#end
#parse("File Header.java")

#if (${VISIBILITY} == "PUBLIC")public #end #if (${ABSTRACT} == "TRUE")abstract #end #if (${FINAL} == "TRUE")final #end class ${NAME} #if (${SUPERCLASS} != "")extends ${SUPERCLASS} #end #if (${INTERFACES} != "")implements ${INTERFACES} #end {
}

Enum फ़ाइल टेंप्लेट

#if (${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end

#if (${IMPORT_BLOCK} != "")${IMPORT_BLOCK}
#end
#parse("File Header.java")

#if (${VISIBILITY} == "PUBLIC")public #end enum ${NAME} #if (${INTERFACES} != "")implements ${INTERFACES} #end {
}

इंटरफ़ेस फ़ाइल टेंप्लेट

#if (${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end

#if (${IMPORT_BLOCK} != "")${IMPORT_BLOCK}
#end
#parse("File Header.java")

#if (${VISIBILITY} == "PUBLIC")public #end enum ${NAME} #if (${INTERFACES} != "")implements ${INTERFACES} #end {
#end {
}

सिंगलटन फ़ाइल टेंप्लेट

#if (${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end

#if (${IMPORT_BLOCK} != "")${IMPORT_BLOCK}
#end
#parse("File Header.java")

#if (${VISIBILITY} == "PUBLIC")public #end class ${NAME} #if (${SUPERCLASS} != "")extends ${SUPERCLASS} #end #if (${INTERFACES} != "")implements ${INTERFACES} #end {
    private static final ${NAME} ourInstance = new ${NAME}();

    #if (${VISIBILITY} == "PUBLIC")public #end static ${NAME} getInstance() {
        return ourInstance;
    }

    private ${NAME}() {
    }
}

फ़ाइल टेंप्लेट के वैरिएबल

Android Studio, जनरेट की गई Java फ़ाइल में फ़ाइल टेंप्लेट वैरिएबल की जगह वैल्यू डाल देता है. नई कक्षा बनाएं डायलॉग में वैल्यू डालें. टेंप्लेट में ये वैरिएबल होते हैं जिनका इस्तेमाल किया जा सकता है:

  • IMPORT_BLOCK - किसी भी सुपरक्लास या इंटरफ़ेस के साथ काम करने के लिए, ज़रूरी Java import स्टेटमेंट की सूची, जिसे नई लाइन से अलग किया गया है. इसके अलावा, यह एक खाली स्ट्रिंग ("") भी हो सकती है. उदाहरण के लिए, अगर आपने सिर्फ़ Runnable इंटरफ़ेस को लागू किया है और कुछ भी एक्सटेंड नहीं किया है, तो यह वैरिएबल "import java.lang.Runnable;\n" होगा. अगर Runnable इंटरफ़ेस लागू किया जाता है और Activity क्लास को एक्सटेंड किया जाता है, तो यह "import android.app.Activity;\nimportjava.lang.Runnable;\n" हो जाएगी.
  • VISIBILITY - क्लास का ऐक्सेस सभी के लिए उपलब्ध होगा या नहीं. इसकी वैल्यू PUBLIC या PACKAGE_PRIVATE हो सकती है.
  • SUPERCLASS - किसी एक क्लास का नाम या खाली. अगर मौजूद है, तो नई क्लास के नाम के बाद extends ${SUPERCLASS} क्लॉज़ होगा.
  • INTERFACES - इंटरफ़ेस की कॉमा से अलग की गई सूची या खाली. अगर यह मौजूद है, तो सुपरक्लास के बाद implements ${INTERFACES} क्लॉज़ होगा. अगर कोई सुपरक्लास नहीं है, तो क्लास के नाम के बाद implements ${INTERFACES} क्लॉज़ होगा. इंटरफ़ेस और एनोटेशन टाइप के लिए, इंटरफ़ेस में extends कीवर्ड होता है.
  • ABSTRACT - क्लास को ऐब्सट्रैक्ट बनाना है या नहीं. इसकी वैल्यू TRUE या FALSE हो सकती है.
  • FINAL - क्लास को फ़ाइनल बनाना है या नहीं. इसकी वैल्यू TRUE या FALSE हो सकती है.