جاوا نجی کلیدی لفظ کیا ہے؟

Jawa Njy Klydy Lfz Kya



' نجی جاوا میں کلیدی لفظ کسی خاص فعالیت کو محدود دائرہ کار تک محدود کرنے میں اہم کردار ادا کرتا ہے۔ یہ اس طرح ہے کہ یہ ضرورت کے مطابق منتخب ڈیٹا کو خفیہ بنانے میں ڈویلپر کی مدد کرتا ہے۔ اس کے علاوہ، یہ متعدد طبقاتی افعال کے ساتھ منسلک کیا جا سکتا ہے بشمول 'متغیرات'، 'فنکشنز'، 'کلاس کنسٹرکٹرز'، اور خود 'کلاس'۔

یہ بلاگ جاوا 'پرائیویٹ' کلیدی لفظ کو لاگو کرنے کے بارے میں وضاحت کرے گا۔







جاوا 'نجی' کلیدی لفظ کیا ہے؟

' نجی جاوا میں کلیدی لفظ متغیرات، طریقوں اور تعمیر کنندگان کے لیے ایک رسائی موڈیفائر ہے، جو انہیں صرف اعلان کردہ کلاس کے اندر ہی قابل رسائی ہونے کی اجازت دیتا ہے۔



اہم تحفظات

  • نجی رسائی میں ترمیم کرنے والا صرف کلاس کے اندر ہی قابل رسائی/مرئی ہے۔
  • 'نجی' کلیدی لفظ بیرونی طبقے یا انٹرفیس کے لیے مختص نہیں کیا جا سکتا۔
  • اگر کلاس کنسٹرکٹر کو 'پرائیویٹ' کے طور پر تفویض کیا جاتا ہے، تو اس کلاس کی مثال کلاس کے باہر سے نہیں بنائی جا سکتی۔
  • اگر 'نجی' ترمیم کنندہ کو کسی بھی طریقہ کے لیے مختص کیا جاتا ہے، تو اس طریقہ کو تمام قسم کے رسائی میں ترمیم کرنے والوں کے ذریعے ذیلی کلاس میں اوور رائیڈ کیا جا سکتا ہے۔ تاہم، ایک 'نجی' طریقہ اب بھی کلاس کے باہر سے طلب نہیں کیا جا سکتا۔

مثال 1: جاوا میں کلاس ویری ایبل کے ساتھ 'نجی' کلیدی لفظ کا اطلاق کرنا



یہ مثال کلاس متغیر کے ساتھ 'پرائیویٹ' کلیدی لفظ کا اطلاق کرتی ہے، اس طرح کلاس کے باہر سے اس تک رسائی (متغیر) کو روکتی ہے:





کلاس پرائیو کلاس {
نجی انٹ ویلیو = 2 ;
}
پبلک کلاس پرائیویٹ {
عوامی جامد باطل مین ( سٹرنگ آرگز [ ] ) {
privclass x = نئی پرائیو کلاس ( ) ;
System.out.println ( 'قدر ->' +x.value ) ;
} }

مندرجہ بالا کوڈ کے ٹکڑوں میں:



  • ایک کلاس کی وضاحت کریں جس کا نام ' پرائیو کلاس '
  • اس کی تعریف میں، 'نجی' کلیدی لفظ کو بیان کردہ 'کے ساتھ جوڑیں۔ int متغیر
  • میں ' مرکزی() 'طریقہ،' کا استعمال کرتے ہوئے ایک کلاس آبجیکٹ بنائیں نئی 'کلیدی لفظ اور' پرائیو کلاس () 'کنسٹرکٹر۔
  • آخر میں، تخلیق کردہ آبجیکٹ کے ذریعے پرائیویٹ متغیر کو طلب کریں۔

آؤٹ پٹ

اس آؤٹ پٹ میں، یہ دیکھا جا سکتا ہے کہ چونکہ متغیر کو 'نجی' کے طور پر مختص کیا گیا ہے، اس لیے بیان کردہ استثناء کا سامنا ہے۔

حل

اس غلطی سے نمٹنے کے لیے، صرف متغیر کے ساتھ 'نجی' کلیدی لفظ کو چھوڑ دیں اور اسے (متغیر) کو مناسب طریقے سے استعمال کیا جائے گا:

مثال 2: جاوا میں کلاس فنکشن کے ساتھ 'نجی' کلیدی لفظ کا اطلاق کرنا

اس خاص مثال میں، زیر بحث مطلوبہ لفظ کو کلاس فنکشن کے ساتھ استعمال کیا جا سکتا ہے، اس طرح اس کا دائرہ صرف کلاس میں برقرار رکھا جا سکتا ہے:

کلاس پرائیو کلاس {
نجی باطل ڈسپلے آئی ڈی ( ) {
System.out.println ( 'آئی ڈی ہے -> 2' ) ;
} }
پبلک کلاس پرائیویٹ {
عوامی جامد باطل مین ( سٹرنگ آرگز [ ] ) {
privclass x = نئی پرائیو کلاس ( ) ;
x.displayId ( ) ;
} }

اس کوڈ بلاک میں:

  • اسی طرح، کلاس کی وضاحت کریں اور فنکشن کا اعلان کریں ' ڈسپلے آئی ڈی () بیان کردہ پیغام کو ظاہر کرنا۔
  • اب، میں ' مرکزی() ” طریقہ، اسی طرح ایک کلاس آبجیکٹ بنائیں اور متعین فنکشن تک رسائی حاصل کرنے کی کوشش کریں۔

آؤٹ پٹ

اس نتیجے میں، یہ ظاہر کیا جا سکتا ہے کہ متعین 'نجی' فنکشن نظر نہیں آ رہا ہے، یعنی اس تک رسائی حاصل نہیں کی جا سکتی۔ مرکزی() 'طریقہ.

حل

اس معاملے میں تقلید سے چھٹکارا پانے کے لیے، اسی طرح، فنکشن کے ساتھ مخصوص کردہ 'نجی' کلیدی لفظ کو چھوڑ دیں، جیسا کہ دکھایا گیا ہے:

مثال 3: جاوا میں کلاس کے ساتھ 'نجی' کلیدی لفظ کا اطلاق کرنا

اس خاص مثال میں، زیر بحث کلیدی لفظ کو کلاس کے ساتھ لاگو کیا جا سکتا ہے بجائے اس کے کہ کلاس کو 'مین' میں محدود کر دیا جائے:

پرائیویٹ کلاس پرائیو کلاس {
پرائیو کلاس ( ) {
System.out.println ( 'یہ پرائیویٹ کلاس ہے!' ) ;
}
باطل ڈسپلے آئی ڈی ( ) {
System.out.println ( 'آئی ڈی ہے -> 2' ) ;
} }
پبلک کلاس پرائیویٹ {
عوامی جامد باطل مین ( سٹرنگ آرگز [ ] ) {
privclass x = نئی پرائیو کلاس ( ) ;
x.displayId ( ) ;
} }

اس کوڈ کے مطابق، درج ذیل اقدامات کا اطلاق کریں:

  • سب سے پہلے، منسلک کریں ' نجی کلاس کے ساتھ کلیدی لفظ، اس طرح اس کے دائرہ کار کو محدود کرتا ہے۔
  • اب، بالترتیب ایک کلاس کنسٹرکٹر اور بیان کردہ پیغامات کی نمائش کرنے والا فنکشن بنائیں۔
  • میں ' مرکزی() ' طریقہ، اسی طرح، ایک کلاس آبجیکٹ بنائیں اور جمع شدہ فنکشن کو طلب کریں۔

آؤٹ پٹ

جیسا کہ دیکھا گیا ہے، وضاحت شدہ کلاس 'میں نظر نہیں آتی ہے۔ مرکزی '

حل

اس منظر نامے میں حد سے چھٹکارا پانے کے لیے، اسی طرح کلاس کے ساتھ منسلک 'نجی' کلیدی لفظ کو ہٹا دیں، جیسا کہ:

تاہم، اگر کلاس کنسٹرکٹر کو 'پرائیویٹ' کے طور پر مختص کرنے کی ضرورت ہے، تو صرف اس کے ساتھ کلیدی لفظ کی وضاحت کریں، جیسا کہ:

یہاں، اس کا مطلب یہ لیا جا سکتا ہے کہ کلاس آبجیکٹ بناتے وقت کلاس کنسٹرکٹر کو پکارنے پر، یہ (کنسٹرکٹر) پوشیدہ/ناقابل رسائی ہو جاتا ہے۔

نتیجہ

' نجی جاوا میں کلیدی لفظ متغیرات، طریقوں، تعمیر کنندگان وغیرہ کے لیے ایک رسائی موڈیفائر ہے جو انہیں صرف اعلان کردہ کلاس میں ہی قابل رسائی ہونے کی اجازت دیتا ہے۔ یہ اس طرح ہے کہ کلاس کے باہر سے اس کلیدی لفظ کے ساتھ منسلک فعالیت کو طلب کرنے پر، اس کے نتیجے میں ایک غلطی ہوتی ہے۔ اس بلاگ نے جاوا میں 'نجی' کلیدی لفظ کے استعمال اور نفاذ پر تبادلہ خیال کیا ہے۔