الدرس 27: الكلمة المفتاحية final
الكلمة المفتاحية final هي معدل غير وصول يُستخدم لتقييد أو تعريف شيء لا يمكن تغييره.
1. متغيرات final (الثوابت)
إذا تم التصريح عن متغير كـ final ، فلا يمكن إعادة تعيين قيمته بعد التهيئة. غالباً ما تُستخدم مع static لإنشاء ثوابت حقيقية في وقت التجميع.
java // متغير final غير ثابت يجب تهيئته مرة واحدة لكل كائن public final int MAX_USERS = 100;
// ثابت قياسي (الاصطلاح: static final، وأحرف كبيرة) public static final double INTEREST_RATE = 0.05;
// محاولة لإعادة التعيين: MAX_USERS = 200; // خطأ في التجميع!
2. دوال final
إذا تم التصريح عن دالة كـ final ، فلا يمكن تجاوزها من قبل أي فئة ابن. يضمن ذلك بقاء تنفيذ الدالة دون تغيير عبر تسلسل الوراثة.
java public class Parent { public final void criticalLogic() { // تنفيذ يجب ألا يتغير أبداً } }
public class Child extends Parent { // public void criticalLogic() { /* خطأ! لا يمكن تجاوز دالة final */ } }
3. فئات final
إذا تم التصريح عن فئة كـ final ، فلا يمكن توريثها (لا يمكن أن يكون لها فئات ابن). يتم ذلك غالباً لأسباب أمنية مثل فئة String المدمجة في Java.
java public final class ConfigurationSettings { // ... }
// public class BadAttempt extends ConfigurationSettings { /* خطأ! */ }