English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

فهم كلمة final في Java بشكل عميق

 تفسير كلمة المفتاحية final في Java

مقدمة:

الكلمة المفتاحية final في Java مهمة جدًا، يمكن تطبيقها على الفئات والعمليات والمتغيرات. سأأخذك في هذا المقال لمعرفة ما هو كلمة المفتاحية final؟ ما الذي يعنيه تصريح الفئات والعمليات والمتغيرات كـ final؟ ما هي الفوائد من استخدام final؟ وفي النهاية، سأقدم بعض الأمثلة على استخدام كلمة المفتاحية final. يتم استخدام final غالبًا مع static لِتَصريح الكُتل، وسأريك أيضًا كيف يمكن لـ final تحسين أداء التطبيق.

ما هو معنى كلمة المفتاحية final؟

final هي كلمة مفتاحية محفوظة في Java، يمكن استخدامها لتصريح المتغيرات العضوية والعمليات والفئات والمتغيرات المحلية. بمجرد تصريح الارتباط كـ final، لن يمكنك تغيير هذا الارتباط بعد الآن، سيقوم محرر الكود بالتحقق من الكود، وسيقوم بعرض خطأ تجميع إذا حاولت إعادة تعيين هذا المتغير.

ما هو المتغير final؟

كل متغير عضوي أو متغير محلي (تُسمى المتغيرات المحلية المتغيرات الموجودة في العمليات أو الكتل من البرنامج) المُستخدم final يُسمى متغير final. يتم استخدام المتغيرات final غالبًا مع الكلمة المفتاحية static، كـ كُتلة. إليك مثال على المتغيرات final:

public static final String LOAN = "loan";
LOAN = new String("loan") // خطأ تجميع غير صالح

المتغيرات final هي متغيرات فقط قراءة.

ما هو العمليات final؟

final يمكن أن يُستخدم لِتَصريح العمليات. يُضيفُ إلى عملية الكلمة المفتاحية final، مما يعني أن هذه العملية لا يمكن أن تُعاد كتابتها من قبل عمليات الفرعية. إذا كنت تعتقد أن وظيفة العملية كافية تمامًا، وأن الفرعية لا تحتاج إلى تعديل، يمكنك تصريح هذه العملية كـ final. يتمتع العمليات final بمزيد من السرعة مقارنة بالعمليات غير final، لأنها يتم ربطها بشكل دائم عند التجميع، مما يعني أن ليس من الضروري ربطها ديناميكيًا عند التشغيل. إليك مثال على العمليات final:

class PersonalLoan{}}
  public final String getName(){
    return "personal loan";
  {}
{}
class CheapPersonalLoan extends PersonalLoan{
  @Override
  public final String getName(){
    return "cheap personal loan"; // خطأ في التجميع: الطريقة المعدلة هي final
  {}
{}

ما هو الفئة final؟

الفئة التي يتم تعديلها باستخدام final تسمى الفئة final. عادة ما تكون الفئات final كاملة الوظيفة ولا يمكن توريثها. هناك العديد من الفئات final في Java مثل String وInterger وغيرها من الفئات الم封装ة. إليك مثال على الفئة final:

 final class PersonalLoan{
  {}
  class CheapPersonalLoan extends PersonalLoan{ // خطأ في التجميع: لا يمكن توريث الفئة final}
{}

  فوائد كلمة final

إليك بعض النقاط المهمة حول استخدام كلمة final

  1. يزيد كلمة final من الأداء. يحفظ JVM وتطبيقات Java المتغيرات final.
  2. يمكن مشاركة المتغيرات final بشكل آمن في بيئات متعددة الأطراف دون تكاليف إضافية للتوافق.
  3. يحسن JVM الطرق والمتغيرات والفئات باستخدام كلمة final.

الفئة غير القابلة للتغيير

لإنشاء فئة غير قابلة للتغيير يجب استخدام كلمة final. الفئة غير القابلة للتغيير هي تلك التي لا يمكن تغييرها بعد إنشائها. String هي مثال على الفئة غير القابلة للتغيير. لديها العديد من المزايا مثل أن تكون الكائنات فقط للقراءة، يمكن مشاركتها بشكل آمن في بيئات متعددة الأطراف دون تكاليف إضافية للتوافق.

نقاط مهمة حول final

  1. يمكن استخدام كلمة final للعضوية المحلية، المتغيرات المحلية، الطرق والفئات.
  2. يجب إعداد متغيرات العضوية final عند إصدارها أو في بناء المحرك، وإلا سيتم إصدار خطأ في التجميع.
  3. لا يمكنك تعيين قيمة للمتغير final مرة أخرى.
  4. يجب تخصيص المتغيرات المحلية عند إصدارها.
  5. يجب أن تكون جميع المتغيرات في الكائنات الغير معروفة final.
  6. لا يمكن تعديل الطرق final.
  7. لا يمكن توريث الفئات final.
  8. كلمة final مختلفة عن كلمة finally، حيث تستخدم finally للتعامل مع الاستثناءات.
  9. من السهل الخلط بين keyword final ومتدخل finalize()، وهو متدخل معرف في كلاس Object، يتم استدعاؤه من قبل JVM قبل إزالة الكائن من النظام.
  10. كل المتغيرات المعلنة في واجهة هي final.
  11. final وabstract هما كلمتان معاكستان، لا يمكن أن يكون final class abstract.
  12. final method يتم绑定 في مرحلة التجميع، ويسمى الت绑يد الثابت (static binding).
  13. الـ final variable التي لم يتم تعيينها عند الت声明 تسمى final variable فارغة (blank final variable)، وسيجب عليها أن يتم تعيينها في البنيان أو من خلال استدعاء this(). إذا لم يحدث ذلك، سيقوم محول الكود بإصدار خطأ "يجب تعيين final variable (اسم الـ variable)".
  14. تسجيل الكلاسات، الطرق، وال變يبات كfinal يمكن أن يزيد من أداء البرنامج، حيث يمكن للـ JVM تقييم ذلك ومن ثم تحسينه.
  15. بالمعايير التقليدية للكود في Java، final variable هي معادلة، وغالبًا ما تكون أسماء المعادلات بالحروف الكبيرة:
private final int COUNT = 10;

عندما نقول أن الكائنات المجموعة معلنة كfinal، يعني أن الإشارة لا يمكن تغييرها، ولكن يمكنك إضافة، إزالة أو تغيير محتوياتها. مثلًا:

private final List Loans = new ArrayList();
list.add(“home loan”); // صالح
list.add("personal loan"); // صالح
loans = new Vector(); // غير صالح

نحن نعرف الآن ما هو final variable، final method، و final class. استخدم final عند الحاجة، يمكن أن يساعدك في كتابة أكواد أسرع وأفضل.

 شكرًا على القراءة، آمل أن تكون قد ساعدتكم، شكرًا لدعمكم لهذا الموقع!

أنت قد تحب