Try using it in your preferred language.

English

  • English
  • 汉语
  • Español
  • Bahasa Indonesia
  • Português
  • Русский
  • 日本語
  • 한국어
  • Deutsch
  • Français
  • Italiano
  • Türkçe
  • Tiếng Việt
  • ไทย
  • Polski
  • Nederlands
  • हिन्दी
  • Magyar
translation

यह एक AI अनुवादित पोस्ट है।

제이온

[इफेक्टिव जावा] आइटम 4. इंस्टेंटिएशन को रोकने के लिए प्राइवेट कंस्ट्रक्टर का उपयोग करें

  • लेखन भाषा: कोरियाई
  • आधार देश: सभी देश country-flag

भाषा चुनें

  • हिन्दी
  • English
  • 汉语
  • Español
  • Bahasa Indonesia
  • Português
  • Русский
  • 日本語
  • 한국어
  • Deutsch
  • Français
  • Italiano
  • Türkçe
  • Tiếng Việt
  • ไทย
  • Polski
  • Nederlands
  • Magyar

durumis AI द्वारा संक्षेपित पाठ

  • उपयोगिता कक्षाएँ, जिनमें केवल स्थिर विधियाँ और क्षेत्र होते हैं, उन्हें कंस्ट्रक्टर की आवश्यकता नहीं होती है, लेकिन कंपाइलर स्वचालित रूप से एक सार्वजनिक डिफ़ॉल्ट कंस्ट्रक्टर बनाता है, इसलिए इंस्टेंटिएशन को रोकने के लिए कंस्ट्रक्टर के एक्सेस मोडिफायर को निजी रूप से सेट करना सबसे अच्छा है।
  • निजी कंस्ट्रक्टर बाहरी रूप से पहुँचा नहीं जा सकता है, और यदि इसे आंतरिक रूप से बुलाया जाता है, तो यह एक अपवाद उत्पन्न करने के लिए सेट किया गया है, जिससे उपयोगिता कक्षाओं के इंस्टेंटिएशन को रोका जा सके।
  • निजी कंस्ट्रक्टर का उपयोगकर्ता द्वारा समझना मुश्किल हो सकता है, इसलिए टिप्पणी देना एक अच्छा विचार है, और कंस्ट्रक्टर को निजी रूप से सेट करने से वंशानुगत भी असंभव हो जाता है।

कभी-कभी केवल स्थिर विधियों और स्थिर क्षेत्रों वाले वर्ग का उपयोग करना उपयोगी होता है।


उदाहरण के लिए, आप `java.lang.Math`, `java.util.Arrays` जैसे गणितीय संचालन या सरणियों से संबंधित विधियों के संग्रह के लिए उपयोगिता वर्गों का उपयोग कर सकते हैं। या, आप `java.util.Collections` जैसे विशेष इंटरफ़ेस को लागू करने वाली वस्तुएँ बनाने के लिए स्थिर कारखाना विधियों का उपयोग कर सकते हैं।


इन उपयोगिता वर्गों को अलग-अलग इंस्टेंस चर या विधियों की आवश्यकता नहीं होती है, इसलिए उन्हें कन्स्ट्रक्टर की आवश्यकता नहीं होती है। हालाँकि, यदि आप कन्स्ट्रक्टर को स्पष्ट रूप से निर्दिष्ट नहीं करते हैं, तो कंपाइलर स्वचालित रूप से एक सार्वजनिक डिफ़ॉल्ट कन्स्ट्रक्टर बनाता है। इसलिए, उपयोगकर्ता यह नहीं बता सकते कि यह कन्स्ट्रक्टर स्वचालित रूप से बनाया गया है या नहीं।


इसे रोकने के लिए, कभी-कभी इसे एक सार वर्ग के रूप में बनाया जाता है, लेकिन आप एक सार वर्ग से एक उदाहरण नहीं बना सकते हैं। ऐसा इसलिए है क्योंकि आप बस एक उपवर्ग बना सकते हैं और उससे एक उदाहरण बना सकते हैं।


public abstract class Person {

    public static void speak(String message) {
        System.out.println(message);
    }
}

public class Student extends Person {

    public Student() {
        super();
    }


इसलिए, उपयोगिता वर्ग के उदाहरण के निर्माण को रोकने के लिए, आपको कन्स्ट्रक्टर के पहुंच नियंत्रक को निजी बनाना होगा।


public abstract class Person {

    private Person() {
        throw new AssertionError();
    }

    public static void speak(String message) {
        System.out.println(message);
    }


जैसा कि ऊपर दिखाया गया है, यदि डिफ़ॉल्ट कन्स्ट्रक्टर का पहुंच नियंत्रक निजी है, तो इसे कक्षा के बाहर से एक्सेस नहीं किया जा सकता है। इसके अतिरिक्त, यदि डिफ़ॉल्ट कन्स्ट्रक्टर को आंतरिक रूप से बुलाया जाता है, तो इसे एक अपवाद उत्पन्न करने से रोका जाता है।


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


स्रोत

제이온
제이온
제이온
제이온
[इफ़ेक्टिव जावा] आइटम 5. संसाधनों का उल्लेख न करें, डिपेंडेंसी इंजेक्शन का उपयोग करें यदि कोई वर्ग आंतरिक रूप से एक से अधिक संसाधनों पर निर्भर करता है, तो सिंगलटन और स्टैटिक उपयोगिता वर्गों के बजाय डिपेंडेंसी इंजेक्शन का उपयोग करना बेहतर होता है। डिपेंडेंसी इंजेक्शन के माध्यम से, आप वर्ग की लचीलापन, पुन: उपयोग और परीक्षण क्षमता में सुधार क

28 अप्रैल 2024

[इफेक्टिव जावा] आइटम 3. निजी कन्स्ट्रक्टर या एनम टाइप के साथ सिंगलटन होने की गारंटी दें सिंगलटन एक ऐसा क्लास है जिसका केवल एक उदाहरण बनाया जा सकता है, जिसका उपयोग स्टेटलेस ऑब्जेक्ट या सिस्टम घटकों को लागू करने के लिए किया जाता है। सिंगलटन बनाने के तरीके public static सदस्य, स्थिर फैक्टरी विधि, एनम टाइप का उपयोग करने का तरीका आदि हैं, और प्रत

27 अप्रैल 2024

[जावा] रिफ्लेक्शन अवधारणा और उपयोग विधि रिफ्लेक्शन एक एपीआई है जो जावा प्रोग्राम के निष्पादन के दौरान क्लास जानकारी तक पहुंच प्रदान करके क्लास में हेरफेर करने की अनुमति देता है। रनटाइम पर क्लास बनाना और फ़ील्ड और विधियों तक पहुँच प्राप्त करना संभव है, लेकिन ध्यान रहे कि यह एन्कैप्सुलेशन को बाधि

25 अप्रैल 2024

[गैर-मुख्य, डेवलपर के रूप में जीवित रहना] 16. नौसिखिए डेवलपर पोर्टफोलियो निर्माण युक्तियाँ नौसिखिए डेवलपर (विशेष रूप से गैर-मुख्य) को पोर्टफोलियो बनाते समय तकनीक के साथ-साथ विकसित सेवाओं या कार्यों को स्पष्ट रूप से बताना चाहिए। उदाहरण के लिए, "रोजगार खोजने वालों के लिए समुदाय" परियोजना के लिए, प्रश्नोत्तर बोर्ड, चयन प्रणाली, क्रॉलिंग बॉट विकास
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자

3 अप्रैल 2024

[Next.js] रनटाइम env इंजेक्शन Next.js में बिल्ड टाइम के बाद पर्यावरण चर सेटिंग के लिए तरीके जानें। विंडोज उपयोगकर्ता भी क्रॉस-एनवी इंस्टॉल करने और स्क्रिप्ट संशोधन विधि को आसानी से पालन कर सकते हैं। स्थानीय, देव, क्यूए, प्रॉड जैसे विभिन्न पर्यावरण चर सेटिंग के लिए इसे कारगर रूप से इस
Sunrabbit
Sunrabbit
Sunrabbit
Sunrabbit

20 मार्च 2024

[गैर-प्रमुख, डेवलपर के रूप में जीवित रहना] 14. नौसिखिए डेवलपर द्वारा अक्सर पूछे जाने वाले तकनीकी साक्षात्कार सामग्री का सारांश नौसिखिए डेवलपर के लिए तकनीकी साक्षात्कार की तैयारी के लिए एक मार्गदर्शिका। मुख्य मेमोरी क्षेत्र, डेटा संरचना, RDBMS और NoSQL, प्रक्रियात्मक और ऑब्जेक्ट-ओरिएंटेड, ओवरराइडिंग और ओवरलोडिंग, पेज रिप्लेसमेंट एल्गोरिदम, प्रक्रिया और थ्रेड, OSI 7 लेयर, TCP और UD
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자

3 अप्रैल 2024

ऑटोमेटिक ट्रेडिंग प्रोग्राम में सुधार के लिए विचार यह एक ग्रिड ट्रेडिंग ऑटोमेशन प्रोग्राम के लिए सुधार के विचारों का परिचय देता है, जिसमें बड़े आयोजनों के प्रबंधन, निवेश निधि प्रबंधन तर्क, शॉर्ट पोजीशन को जोड़ने जैसे सुझाव दिए गए हैं। विशेष रूप से, यह बताता है कि होल्डिंग फ़ंक्शन के माध्यम से, गिरने पर बे
(로또 사는 아빠) 살림 하는 엄마
(로또 사는 아빠) 살림 하는 엄마
(로또 사는 아빠) 살림 하는 엄마
(로또 사는 아빠) 살림 하는 엄마
(로또 사는 아빠) 살림 하는 엄마

21 अप्रैल 2024

तार्किक डेटा मॉडलिंग तार्किक डेटा मॉडलिंग अवधारणात्मक डेटा मॉडलिंग को रिलेशनल डेटाबेस पैराडाइम में बदलने की प्रक्रिया है, जिसमें 1:1, 1:N, N:M संबंधों को संभाला जाता है और डेटा अखंडता सुनिश्चित करने के लिए सामान्यीकरण किया जाता है। 1NF, 2NF, 3NF के माध्यम से तालिकाओं को परिष्
제이의 블로그
제이의 블로그
제이의 블로그
제이의 블로그
제이의 블로그

9 अप्रैल 2024

संवेदी डेटा मॉडलिंग संवेदी डेटा मॉडलिंग इकाइयों को अलग करने और इकाइयों के बीच के संबंधों को ERD के रूप में प्रदर्शित करने की प्रक्रिया है। एक इकाई एक स्वतंत्र सूचना इकाई है, और एक विशेषता एक इकाई द्वारा धारित डेटा है। पहचानकर्ता एक इकाई की विशिष्ट पहचान करता है, और संबंध इका
제이의 블로그
제이의 블로그
제이의 블로그
제이의 블로그

8 अप्रैल 2024