جاوا میں جامد اور فائنل کے درمیان فرق

مصنف: Laura McKinney
تخلیق کی تاریخ: 2 اپریل 2021
تازہ کاری کی تاریخ: 11 مئی 2024
Anonim
جاوا میں جامد اور فائنل کے درمیان کیا فرق ہے؟
ویڈیو: جاوا میں جامد اور فائنل کے درمیان کیا فرق ہے؟

مواد


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

  1. موازنہ چارٹ
  2. تعریف
  3. کلیدی اختلافات
  4. نتیجہ اخذ کرنا

موازنہ چارٹ

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


جامد کی تعریف

جامد ایک کلیدی لفظ ہے ، جو کلاسز ، متغیرات ، طریقوں اور بلاکس پر لاگو ہوتا ہے۔ کلاس ممبران ، کلاس اور بلاکس کو بالترتیب کلاس ممبروں ، کلاس اور بلاکس کے نام کے سامنے “جامد” کلیدی لفظ استعمال کرکے جامد بنایا جاسکتا ہے۔ جب کلاس ممبر کو جامد قرار دیا جاتا ہے ، تو یہ کلاس کے دوسرے تمام ممبروں کے لئے عالمی سطح پر ہو جاتا ہے۔ کلاس کا مستحکم ممبر ہر مثال کی بنیاد پر میموری پر قبضہ نہیں کرتا ہے ، یعنی تمام اشیاء جامد ممبر کی ایک ہی کاپی کو شیئر کرتی ہیں۔ جامد رکن کو اس طبقے کے کسی بھی شے سے آزادانہ طور پر استعمال کیا جاسکتا ہے۔ آپ کلاس کے مستحکم رکن تک رسائی حاصل کرسکتے ہیں اس سے پہلے کہ اس کا مقصد بن جائے۔ جامد ممبر کی بہترین مثال اہم () طریقہ ہے ، اسے مستحکم قرار دیا جاتا ہے تاکہ کسی بھی شے کے وجود سے پہلے ہی اس کا مطالبہ کیا جاسکے۔ کلاس کے مستحکم ممبر تک رسائی کے ل The عمومی فارم:

class_name.static_member // طبقے کے مستحکم رکن تک رسائی حاصل کرنا

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


جامد متغیرات:

  • کلاس کے دوسرے دوسرے ڈیٹا ممبروں کے لئے ایک جامد متغیر ایک عالمی متغیر کی طرح کام کرتا ہے۔
  • کلاس کے کسی بھی شے کے وجود سے پہلے جامد متغیر تک رسائی حاصل کی جاسکتی ہے۔
  • کلاس کے نام کے ساتھ مستحکم متغیر تک رسائی حاصل کی جاسکتی ہے جس میں اس کی وضاحت کے بعد ڈاٹ (.) آپریٹر ہوتا ہے۔

جامد طریقے:

  • ایک مستحکم طریقہ صرف دوسرے مستحکم طریقوں کو کال کرسکتا ہے۔
  • ایک مستحکم طریقہ صرف جامد ڈیٹا تک رسائی حاصل کرسکتا ہے۔
  • کسی مستحکم طریقہ کو کسی بھی حالت میں "اس" یا "سپر" کا حوالہ نہیں دیا جاسکتا۔
  • کلاس کے نام کے ساتھ مستحکم طریقہ تک رسائی حاصل کی جاسکتی ہے جس میں اس کی وضاحت کے بعد ڈاٹ (.) آپریٹر ہوتا ہے۔

جامد کلاس:

  • جاوا میں نیسڈڈ جامد کلاس کا تصور ہے۔ بیرونی کلاس کو مستحکم نہیں بنایا جاسکتا جبکہ اندرونی طبقے کو جامد بنایا جاسکتا ہے۔
  • ایک مستحکم گھریلو طبقہ بیرونی طبقے کے غیر مستحکم رکن تک رسائی حاصل نہیں کرسکتا۔
  • یہ صرف بیرونی طبقے کے مستحکم ممبروں تک رسائی حاصل کرسکتا ہے۔

جامد بلاک:

جب کلاس بھری ہوئی ہو تو صرف ایک بار جامد بلاک کو پھانسی دی جاتی ہے۔ کلاس کے مستحکم متغیرات کو شروع کرنے کے لئے استعمال کیا جاتا ہے۔

C ++:

سی ++ میں ہمارے پاس جامد متغیرات کے ساتھ ساتھ جامد افعال کا بھی تصور ہے جبکہ ، C ++ جامد کلاس کی حمایت نہیں کرتا ہے۔

C #:

سی # جامد کلاس ، جامد متغیرات ، اور جامد کلاس کی بھی حمایت کرتا ہے۔

جاوا:

جاوا جامد گھریلو طبقے ، جامد متغیرات ، جامد طریقوں کی حمایت کرتا ہے۔

فائنل کی تعریف

فائنل ایک کلیدی لفظ ہے جس کا اطلاق کلاس ، متغیر اور طریقوں پر ہوتا ہے۔ کلاس ، متغیر اور اس کے طریقہ کار کو حتمی قرار دے کر ان کے نام سے پہلے "حتمی" کی ورڈ استعمال کیا جاتا ہے۔ ایک بار متغیر کو حتمی قرار دے دیا گیا۔ اس پروگرام میں مزید ترمیم نہیں کی جاسکتی ہے۔ کسی حتمی متغیر کی ابتدا وقت کے اعلامیے کے وقت کی جانی چاہئے۔ حتمی متغیرات ہر مثال کی بنیاد پر میموری پر قبضہ نہیں کرتے ہیں۔ کلاسوں کی ساری اشیاء آخری متغیر کی ایک ہی کاپی کا اشتراک کرتی ہیں۔

حتمی قرار دیئے جانے والے طریقے کو اس طبقے کے ذیلی طبقے کے ذریعے ختم نہیں کیا جاسکتا ہے جس میں حتمی طریقہ کار کا اعلان کیا گیا ہے۔ جب کسی کلاس کو حتمی قرار دے دیا جاتا ہے تو دوسری کلاس اس حتمی کلاس کا وارث نہیں ہوسکتی ہے۔ اگر حتمی مطلوبہ الفاظ ہیں تو C ++ ، C # اس تصور کی حمایت نہیں کرتے ہیں۔ جاوا آخری مطلوبہ الفاظ اور جاوا میں تصور کی حمایت کرتا ہے۔ کلاس ، متغیر ، اور طریقہ کو حتمی قرار دیا جاسکتا ہے۔

  1. مستحکم کلیدی لفظ نیسسٹڈ جامد کلاس ، متغیرات ، طریقوں اور بلاکس پر لاگو ہوتا ہے۔ دوسری طرف ، حتمی مطلوبہ الفاظ طبقاتی طریقوں اور متغیر پر لاگو ہوتا ہے۔
  2. جامد متغیر کو کسی بھی وقت شروع کیا جاسکتا ہے جب کہ ، حتمی متغیر کو اعلان کے وقت شروع کرنا ضروری ہے۔
  3. ایک مستحکم متغیر کو دوبارہ سے تبدیل کیا جاسکتا ہے جب کہ ، ایک بار حتمی متغیر کو دوبارہ شروع نہیں کیا جاسکتا ہے۔
  4. ایک مستحکم طریقہ کلاس کے مستحکم ممبر تک رسائی حاصل کرسکتا ہے اور اسے دوسرے مستحکم طریقوں سے ہی استعمال کیا جاسکتا ہے۔ دوسری طرف ، حتمی طریقہ کبھی بھی کسی طبقے کو وراثت میں نہیں مل سکتا ہے۔
  5. جامد متغیرات کو شروع کرنے کے لئے جامد بلاک استعمال کیا جاتا ہے جبکہ ، حتمی کلیدی لفظ کسی بھی بلاک کی حمایت نہیں کرتا ہے۔

نتیجہ:

کلاس ، متغیر اور طریقہ کار پر لاگو ہوتے وقت دونوں جامد اور آخری مطلوبہ الفاظ مختلف مقصد کو حل کرتے ہیں۔