Access specifier In Java In Hindi

हेलो फ्रेंड्स, आज के इस ब्लॉग पोस्ट(Access specifier In Java In Hindi) में मैं आपको हिंदी में बताने वाला हूँ कि Java में Access specifier क्या क्या होते है और यह कैसे एक program में काम करते है | यह Access specifier होते है public , Private , Protected , and Default .

जावा के अलावा यह Access specifier आप और भी लैंग्वेज में भी देख सकते है जैसे कि C++, dot net , PHP इत्यादि | इन Access specifier को हम Access modifier के नाम से भी जानते है जिसे आप एक official नाम मान सकते है | पर दोनों एक ही है इसलिए इसके नाम को लेकर आप कंफ्यूज मत होना |Access specifier In Java In Hindi|

अगर जावा के अंदर किसी पैकेज के अंदर कोई क्लास है तो उस क्लास के मेंबर वेरिएबल और मेंबर फंक्शन को इस पैकेज के बाहर तभी एक्सेस कर सकते है जब यह मेंबर्स क्लास के अंदर पब्लिक डिक्लेअर होंगे | तो चलिए इस ब्लॉग में हम एक एक करके सभी Access specifier के बारे में विस्तार से जानेगे |Access specifier In Java In Hindi|

Access specifier एक keyword ही होता है जिसे हम class के साथ और class variable एंड function के साथ लगा सकते है | और फिर Access specifier के nature के base पर उसे Access कर सकते है |

जावा के अंदर चार तरह के Access specifier को use किया जाता है को कि निम्नलिखित है : Access specifier In Java In Hindi

public
Private
Protected
Default

यहाँ पर Default keyword को हमें लिखने की जरुरत नहीं होती है | जब हम किसी class , variable , और function के साथ कोई भी Access specifier use नहीं करते है तो फिर वहां पर Default Access specifier automatic अपना काम करता है |

चलिए अब हम इन Access specifier के effect को एक example की मदद से समझते है |नीचे दिए हुए चित्र को देखिये यहाँ पर हम तीन क्लास लेते है class A , class B एंड class C | class A एंड class B एक ही पैकेज के अंदर है या फिर कह सकते है कि एक ही डायरेक्टरी के अंदर है और क्लास C जो है वो एक अलग पैकेज में है या डायरेक्टरी में है |

अब हम यहाँ पर assume करते है कि class में चार मेंबर है, हर एक मेंबर को अलग अलग Access specifier के साथ declare किया गया है | जैसे कि एक को प्राइवेट कर दिया, दूसरे को पब्लिक कर दिया, तीसरे को प्रोटेक्टेड कर दिया और चौथे को डिफ़ॉल्ट कर दिया या हम बोल सकते है कि उस पर कोई भी specifier नहीं लगाया तो वो अपने आप ही डिफ़ॉल्ट हो गया |

अब हम यहाँ पर हर एक मेंबर और उसके साथ लगे Access specifier का scope देखते है |

Private Member:

क्लास A के अंदर कोई प्राइवेट मेंबर है तो उसे न तो class B एक्सेस कर सकती है और न ही Class C एक्सेस कर सकती है | इसका मतलब यह होता है कि Private Member केवल class के अंदर ही accessible होते है और उसकी class के अलावा न तो उसे उसके पैकेज वाली class न फिर कोई और पैकेज की class Access कर सकती है | तो हम यहाँ पर कह सकते है कि प्राइवेट मेंबर का scope class स्कोप होता है |

public Member :

class A के अंदर जो भी public मेंबर है उन्हें class B और Class C दोनों Access कर सकती है | मतलब कि public members का scope ग्लोबल होता है, उन्हें कही से भी Access किया जा सकता है, चाहे फिर वह same पैकेज की class में हो या फिर कोई different पैकेज में |

Protected Member :

क्लास A के Protected Member को class B एक्सेस कर सकती है पर class C Access नहीं कर सकती है | पर यदि class C क्लास A की sub class हो तो फिर वह class A के Protected Member को Access कर सकती है

Default Member :

जब हम किसी मेंबर पर कोई Access specifier declare नहीं करते है तो फिर हम यहाँ पर Default Access specifier मान कर चलते है | और यहाँ पर हमारे एक्साम्प्ले में क्लास A के Default मेंबर्स को केवल class B एक्सेस कर सकती है | पर class C इन्हे Access नहीं कर सकती है | तो यहाँ पर हम यह कह सकते है कि Default Member का स्कोप पैकेज के अंदर होता है |Access specifier In Java In Hindi|

Quick Q&A:

What is the difference between access specifier and access modifier?/ access specifier और access modifier में क्या difference होता है?

access specifier और access modifier दोनों ही same चीज़ है और access modifier को आप access specifier का official name कह सकते है | पर यह दोनों एक ही है और इनके अंतर्गत public private, protected और default specifier आते है | इसलिए आप इनके नाम को लेकर बिलकुल भी confusion मत रखिये |

What is the default access specifier?/ Default access specifier क्या होते है ?

जब हम किसी वेरिएबल, मेथड और क्लास के आगे कोई भी access specifier नहीं लगाते है तब वहां पर by Default Default access specifier work करता है | और यह Default access specifier जो है वो package private specifier होता है | कहने का मतलब कि हम किसी भी डिफ़ॉल्ट मेंबर variable या method को सिर्फ एक ही package अथवा same package में access कर सकते है |

Are access modifiers necessary?/ क्या access specifier का use करना जरुरी है ?

जी हाँ | program के अंदर member variable और method की accessibility को control करने के लिए access specifier बहुत ही जरुरी है | वैसे तो ज्यादार मेंबर को private डिक्लेअर होना चाहिए, पर फिर भी हम बहुत से member variable और method को प्राइवेट नहीं कर सकते है |

What is the purpose of abstract class?/ How do we use an abstract class?/ Abstract class क्या होती है ? और Abstract class का purpose क्या होता है ?

Abstract class वह क्लास होती है जिसमे एक या एक से अधिक Abstract method होते है | इस class में non -Abstract method भी हो सकते है |

Abstract method वह method होते है जिनमे सिर्फ method definition होती है जबकि उनका implementation नहीं होता है | और जब कोई भी subclass इस Abstract class को inherit करती है तो फिर वह इसे implement करती है अपने हिसाब से |

Abstract class का object क्रिएट नहीं कर सकते है | इसलिए इस क्लास के Abstract और non -Abstract मेंबर्स को access करने के लिए इसे किसी subclass से inherit किया जाता है |

इसके विपरीत दोस्ती तरफ interface में केवल सिर्फ method को define किया जाता है और उसे implement नहीं किया जाता है | और जब कोई class इस इंटरफ़ेस को इम्प्लीमेंट करती है तो फिर वह अपने हिसाब से इस मेथड को डिफाइन अथवा इम्प्लीमेंट करती है |

एक क्लास सिर्फ एक Abstract class को inherit कर सकती है | जबकि एक class कई सारे interface को implement कर सकती है |

Conclusion :

तो दोस्तों इस ब्लॉग पोस्ट(Access specifier In Java In Hindi) में हमने जावा के अंतर्गत अक्सेसस specifiers या फिर Access modifiers को पढ़ा | यह Access specifiers चार तरह के होते है, public , Private , Protected , and Default | सभी Access specifier का अपना अलग अलग स्कोप होता है | और इसी स्कोप के अंतर्गत हम class , variable और functions को एक क्लास से दूसरी क्लास में जरुरत के हिसाब से Access करते है |

इस ब्लॉग(Access specifier In Java In Hindi) को लेकर आपके मन में कोई भी प्रश्न है तो आप हमें इस पते [email protected]पर ईमेल लिख सकते है|

आशा करता हूँ, कि आपने इस पोस्ट Access specifier In Java In Hindi को खूब एन्जॉय किया होगा|

आप स्वतंत्रता पूर्वक अपना बहुमूल्य फीडबैक और कमेंट यहाँ पर दे सकते है|

आपका समय शुभ हो|

Anurag

I am a blogger by passion, a software engineer by profession, a singer by consideration and rest of things that I do is for my destination.