يمكن للكلمة الأساسية النهائية تعديل المتغيرات المحلية في الفئات ومتغيرات الأعضاء والأساليب. يمكنك استخدام الكلمة الأساسية Final لإعلان فئة ما كفئة نهائية، ولا يمكن وراثة فئة نهائية، أي أنه لا يمكن أن تحتوي على فئات فرعية.
على سبيل المثال:
فينال كلاس أ{…}
A هي فئة نهائية ولن يُسمح بإعلان أي فئة كفئة فرعية من A. بشكل عام، يتم تعديل بعض الفئات كفئات نهائية لأسباب أمنية. على سبيل المثال: تلعب فئة String التي توفرها Java في الحزمة java.lang دورًا مهمًا جدًا في التشغيل العادي للمترجم والمترجم. لا تسمح Java لبرامج المستخدم بتوسيع فئة String، لذلك تقوم Java بتعديلها كفئة نهائية .
إذا تم تعديل طريقة في الفئة الأصلية باستخدام نهائي، فلا يُسمح بتجاوز هذه الطريقة بواسطة الفئات الفرعية، أي أنه لا يُسمح للفئات الفرعية بإخفاء الطرق النهائية التي يمكن توريثها.
إذا تم تعديل متغير عضو أو متغير محلي ليكون نهائيًا، فهو ثابت. نظرًا لأنه لا يُسمح للثوابت بالتغيير أثناء وقت التشغيل، فإن الثوابت ليس لها قيمة افتراضية عند الإعلان عنها، الأمر الذي يتطلب من البرنامج تحديد قيمة الثابت عند الإعلان عنه.