مناسب مثال (پروگرام) کے ساتھ مثال اور مستحکم متغیر میں کیا فرق ہے؟


جواب 1:

سب نے عمدہ مثال اور وضاحتیں پیش کیں۔ میں ایک کے ساتھ جاری رکھیں گے:

مثال کے متغیر ایک کلاس کے ہر شے کی مثال (مثال) ہے۔

جامد متغیر خود کلاس کی ملکیت ہے ، اور اس کلاس کے کسی خاص شے (مثال) سے تعلق نہیں رکھتا ہے۔

موازنہ اور متضاد:

  1. کلاس لوڈنگ کے وقت جامد متغیرات کی ابتدا کی جاتی ہے۔ اشیاء کے ذریعہ مثال کے طور پر۔ اسٹاٹک متغیر طبقاتی نام کا استعمال کرتے ہوئے حاصل کیا جاسکتا ہے۔ مثال کے طور پر متغیر آبجیکٹ تیار کرنا ہوگی اور صرف اس شے کے ذریعے اس تک رسائی حاصل کی جاسکتی ہے۔ مثال

نحو زبان میں زبان سے مختلف ہوسکتا ہے

کلاس_ا :: جامد متغیر // تک رسائی حاصل کی جاسکتی ہے

ObjClass_A = نئی کلاس_A

ObjClass_A.instance متغیر

3. جامد متغیر ایک بار شروع کیا جا سکتا ہے۔ تو یہ سنگلٹن پیٹرن میں بنیادی تصور ہے۔

4. جامد متغیر خلاصہ طبقے کے لئے انٹرفیس کا حصہ نہیں ہوسکتا ، کیونکہ ان کے لئے میموری مختص نہیں کی جاتی ہے۔



جواب 2:

مثال کے متغیر ایک کلاس کے ہر شے کی مثال (مثال) ہے۔

جامد متغیر خود کلاس کی ملکیت ہے ، اور اس کلاس کے کسی خاص شے (مثال) سے تعلق نہیں رکھتا ہے۔

-

مثال:

کلاس ملازم {
نجی جامد انٹ ملازمین کا حساب = 0؛
نجی سٹرنگ empName؛
نجی انٹ ایمپائڈ؛

// تعمیر کنندہ
سرکاری ملازم (اسٹرنگ ای نام ، انٹ ای ای ڈی) {
this.empName = eName؛
this.empId = eId؛
ملازم اکاؤنٹ ++؛
}

سرکاری ملازم شامل ایمپلوئی (سٹرنگ ای نام ، انٹ ای ای ڈی) {
نئے ملازم کو واپس کریں (eName، eId)؛
}

پبلک باطل ڈیلیپ ایمپلائی (انٹ ای ای ڈی) {
ملازم اکاؤنٹ--؛
}

ایمپلائوئکاؤنٹ () public
ملازم کاؤنٹر واپس؛
}
}

اس عام مثال میں ملازم کاؤنٹ ایک مستحکم متغیر ہے جو موجودہ ملازم کو گنتی دیتا ہے۔ ملازمین کی تعداد میں اضافہ یا کمی اس وقت ہوتی ہے جب ہم کسی ملازم کو شامل کریں یا حذف کریں۔

ایمن نام اور ایم پی آئی ڈی مثال کے طور پر متغیر ہیں کیونکہ وہ ملازم اشیاء سے منسلک ہوتے ہیں اور ہر شے کے لئے ترجیحی طور پر مختلف ہوں گے۔

لہذا ، متغیرات جو تمام اشیاء کے لئے مشترک ہیں مستحکم متغیر ہونے کی ضرورت ہے ، بصورت دیگر اسے ایک متغیر بنائیں۔



جواب 3:

مثال کے متغیر ایک ممبر متغیر ہے جو کلاس میں بیان کیا جاتا ہے ، اور ہر ایک مثال (اس کلاس کا اعتراض) کی ، اس کی ایک الگ کاپی ہوتی ہے۔ جب تک اعتراض موجود نہ ہو یہ یاد میں رہتا ہے۔

کلاس ٹیسٹ
{
سٹرنگ اے بی سی؛
}

مندرجہ بالا تک رسائی کے ل you آپ کو کلاس ٹیسٹ تیز کرنا ہوگا

ٹیسٹ ٹی = نیا ٹیسٹ ()؛
t.abc = "ہیلو ورلڈ"۔
ٹیسٹ ٹی 1 = نیا ٹیسٹ ()؛
t1.abc = "خوش آمدید"
ٹیسٹ t2 = نیا ٹیسٹ ()؛
t2.abc = "ٹیسٹ"؛

اب اگر آپ مندرجہ بالا مثال دیکھیں تو ، ہمارے پاس کلاس ٹیسٹ ، ٹی ، ٹی 1 اور ٹی 2 کی 3 اشیاء موجود ہیں جن میں سے ہر ایک کے پاس انسٹینس متغیر ابی سی کی اپنی کاپی ہے اور اسے میموری کے مختلف مقامات پر اسٹور کیا گیا ہے۔

دوسری طرف جامد متغیر کسی شے سے وابستہ ہیں ، کسی شے کے بجائے۔ میموری میں ان کا ایک مقررہ مقام ہے ، اور یہ طبقاتی نام کے ذریعہ حوالہ دیا جاتا ہے۔

کلاس ٹیسٹ
{
سٹرنگ اے بی سی؛
جامد انٹ گنتی = 0؛
}

اب گنتی متغیر تک رسائی حاصل کرنے کے ل you ، آپ کو ٹیسٹ کی ضرورت نہیں ہے۔ آپ اس تک آسانی سے رسائی حاصل کرسکتے ہیں

ٹیسٹ کوونٹ = 1؛

اگر آپ چاہتے ہیں تو عام طور پر جامد متغیرات استعمال کیے جاتے ہیں



جواب 4:

آپ مزید تفصیل اور نمونہ کوڈ کے ل question اس قسم کے سوال کو گوگل کرسکتے ہیں

انسٹینس متغیر۔ ایک متغیر جو کلاس کے اندر ہی اعلان ہو لیکن طریقہ سے باہر ہو اسے مثال کے طور پر متغیر کہا جاتا ہے۔ اسے مستحکم قرار نہیں دیا گیا ہے۔

جامد متغیر۔ ایک متغیر جسے جامد قرار دیا جاتا ہے اسے جامد متغیر کہا جاتا ہے۔ یہ مقامی نہیں ہوسکتا ہے ، یہ کسی خاص چیز کے ل not نہیں بلکہ پوری کلاس کے لئے ہے

کلاس ٹیسٹ {
int iv = 10؛ // مثال متغیر
جامد INV = 100 // // جامد متغیر
باطل طریقہ () {
int lv = 50؛ // مقامی متغیر
}

مزید تفصیلات کے لئے جاوا متغیر اقسام کو چیک کریں