في لغة برمجة Java ، الكلمة الدالة هي واحدة من 50 كلمة محجوزة لها معنى محدد مسبقًا في اللغة. وبسبب هذا، لا يمكن للمبرمجين استخدام الكلمات الأساسية كأسماء للمتغيرات أو classes أو methods أو لتعريف أي شيء أخر. من هذه الكلمات الرئيسية 50، 48 قيد الاستخدام و 2 غير قيد الاستخدام. نظرًا لوظائفها الخاصة في اللغة، فإن معظم بيئات التطوير المتكاملة لـ Java تستخدم تسليط الضوء على بناء الجملة لعرض الكلمات الرئيسية بلون مختلف لتسهيل التعرف عليها.[1]
جزء من كود (البرمجية التعليمية) الجافا به بعض الكلمات الدالة ( المحجوزة) الملونة بلون أزرق.
في البرمجة كائنية التوجه، النمط المجرد، نمط يكون تنفيذه البرمجي (بالإنجليزية: Implementation) غير مكتمل أو غير موجود، ولا يمكن إنشاء مثيل منه (بالإنجليزية: Instance). أيضا هو بمثابة الأساس لأنماط أخرى مشتقة منه (موروثة). لا يمكنك إنشاء classes مجردة. يجب تنفيذ methods المجردة في الصفوف الفرعية sub classes. لا يمكن استخدام كلمه abstract في تسمية المتغيرات أو الmethods أو تعريف بها أي شيء أخر.
نصف Assert دالة تقييم (جملة true-false) تم وضعها في برنامج Java للإشارة إلى أن المطور يظن أن الجملة دائمًا true في ذلك المكان. إذا تم تقييم التأكيد إلى false في وقت التشغيل، فستظهر نتائج فشل التأكيد، والتي تؤدي عادةً إلى إيقاف التنفيذ. يمكنك اختياريًا تفعليها باستخدام (method) طريقة ClassLoader.[3]
هي كلمة في هيكل الswitch حيث أن الswitch يمكن وصفه بأنه تابع للcase و الdefault. يقوم الswitch بتقييم حالته أو تعبيره. ثم ينظر الي حالات الcase التي تتبعه ثم ينفذ الكود الخاص بالcase التي تتماشي مع قيمته.
هو ذلك النوع الذي يحدد تطبيق (تنفيذ) نوع معين من الكائنات objects . يعرّف تعريف الفئة (class) مثيل وclass's field وmethods والفئات الداخلية (inner classes) بالإضافة إلى تحديد الواجهات التي تنفذها الطبقة والفئة الفائقة super class المباشرة للclass . إذا لم يتم تحديد الفئة المميزة بشكل صريح، فإن الطبقة المميزة هي ضمنيًا كائن object. يمكن أيضاً استخدام الكلمة class في Class.class للحصول على كائن فئة object class دون الحاجة إلى مثيل من تلك الفئة. على سبيل المثال، يمكن استخدام String.class بدلاً من إجراء new String().getClass().
كلمة الdefault يمكن أن تستخدم في هيكل ال switch أو يمكن أن لا تستخدم، حيث أنها تستخدم في حاله ان جميع الحالات لم توافق جواب الشرط في هذه الحالة تكون لها أهمية في تحدد مصير الكود. يمكن لكلمة default أن تستخدم في تعريف قيم بدائية في ال Java annotation. يتم استخدام الكلمة الأساسية أيضا default أيضًا لتحديد method ما تكون واجهة توفر التنفيذ الافتراضي لmethod ما.
تستخدم دائما مع الwhile لتكون الdo-while loop الذي ينفذ كتلة من العبارات (سطور الكود) المرتبطة بالحلقة ثم يختبر تعبيرًا منطقيًا مرتبطًا بالفترة أما ان يكون true أو false. إذا تم تقييم التعبير إلى "true"، يتم تنفيذ الكتلة مرة أخرى؛ يستمر هذا حتى يتم تقييم التعبير إلى false.
تستخدم كلمة double لتعريف متغير من نوع الرقم العشري الذي يحتاج مساحة كبيرة نسبيا 64بت double precision IEEE 754 floating-point number الكلمة ايضأ تدل علي أن الmethod تعود بقيمة بدائية double [4]
تستخدم كلمة else دايما مع if لتكوين جملة if-else statement الذي تختبر الشروط المنطقية «بولين» الإجابة اما ان تكوني صحيحة true أو خاطئة false .إذا كانت الإجابة true يتحقق جواب الشرط وإذا كانت الإجابة false لا يتحقق جواب الشرط
تستخدم في تعريف فئة (class) لتحديد الطبقة المتفوقة؛ تستخدم في تعريف واجهة interface لتحديد واحد أو أكثر من واجهات فائقة. يوسع الفئة X الفئة Y لإضافة وظائف، إما عن طريق إضافة حقول أو أساليب methods للفئة Y ، أو عن طريق تجاوز أساليب الفئة Y. وتمتد واجهة Z واحدة أو أكثر من الواجهات بإضافة طرق. يقال إن الفئة X هي فئة فرعية من الصنف Y ؛ يقال إن الواجهة Z هي واجهة فرعية للواجهات التي تمتد فيها.
تستخدم أيضًا لتحديد حد أعلى upper bound في نوع المعامل في المطلق
قم بتعريف الكيان مرة واحدة لا يمكن تغييرها ولا مشتقتها. وبشكل أكثر تحديدًا: لا يمكن للفئة أن تتجزأ الي subclassed ، ولا يمكن إعادة كتابة الطريقة الأخيرة final method ، ويمكن أن يحدث المتغير النهائي مرة واحدة على الأكثر كتعبير يسار في أمر تم تنفيذه. جميع الطرق في الفئة النهائية يعتبروا final ضمني.
تُستخدم لتعريف كتلة من العبارات لمقطع تم تعريفه مسبقًا عن طريق الكلمة الرئيسية try . يتم تنفيذ كيان الfinally بعد إنهاء التنفيذ لكتلة try وأي عبارات مصاحبة مرتبطة بها بغض النظر عما إذا تم طرح استثناء catch أي حصول خطأ ومعرفة الخطأ، أو تنفيذ الطريقة اليسرى في منتصف try أو ال catch الكتل باستخدام الكلمة الرئيسية return.
يتم استخدام الكلمة الأساسية float لتعريف متغير يمكنه احتجاز وحدة ذات 32-بت من IEEE 754 رقم floating-point. كما يتم استخدام هذه الكلمة الأساسية أيضًا للإعلان عن إرجاع أحد الأساليب في مخزون من النوع float (النوع العشري صغير الحجم).[3][5][6]
يتم استخدام الكلمة الأساسية "for" لإنشاء (حلقة تكرار)، والتي تحدد تهيئة متغيرة وتعبيرًا منطقيًا وتزايدًا. يتم تنفيذ التهيئة المتغيرة أولاً، ثم يتم تقييم التعبير المنطقي. إذا تم تقييم التعبير المنطقي إلى "true"، يتم تنفيذ كتلة عبارات المقترنة بالتكرار، ثم يتم تنفيذ الزيادة. ثم يتم تقييم التعبير المنطقي مرة أخرى؛ يستمر هذا حتى يتم تقييم التعبير إلى false.[7]
اعتبارًا من "J2SE 5.0"، يمكن أيضًا استخدام الكلمة الأساسية "for" لإنشاء ما يسمى «المحسن للحلقة» enhance for loop ، والذي يحدد مصفوفة أو كائنًا قابلًا للتكرار؛ كل تكرار للحلقة ينفذ كتلة البيانات المصاحبة باستخدام عنصر مختلف في المصفوفة أو Iterable.[8][7]
يتم استخدام الكلمة "if" لإنشاء (تعبير شرطي (برمجة الحاسوب))، والذي يختبر تعبيرًا منطقيًا؛ إذا تم تقييم التعبير إلى "true"، فسيتم تنفيذ كتلة العبارات المرتبطة ببيان "if". يمكن استخدام هذه الكلمة الأساسية أيضًا لإنشاء عبارة "if-else" (تعبير شرطي (برمجة الحاسوب)). اقرأ أيضا[9][10]
implements
تضمين في تعريف «الفئة» class لتحديد واحد أو أكثر من «الواجهات» interfaces التي يتم تنفيذها بواسطة «الفئة الحالية». تورث الفئة أنواع البيانات والطرق methods التي تم تعريفها في الواجهات.
import
تُستخدم في بداية «الملف المصدر» (كود مصدري) لتحديد «الفئات» أو «حزم جافا بأكملها» ليتم الإشارة إليها لاحقًا بدون تضمين أسماء حزمها في المرجع. منذ "J2SE 5.0"، يمكن استيراد عدد ثابت من أعضاء الفئات.
instanceof
binary operator (المشغل الثنائي)) يأخذ مرجع كائن كمعامله الأول و «صنف» أو «واجهة» كمعامله الثاني وينتج نتيجة منطقية true أو false . يتم تقييم «عامل التشغيل» instanceof إلى true إذا وفقط كان «وقت التشغيل» للكائن متوافق مع "class" أو "interface".
يتم استخدام الكلمة الأساسية "int" لتعريف متغير يمكنه الاحتفاظ على عدد صحيح موقع مساحته أقصاها 32 بت. يتم استخدام هذه الكلمة الأساسية أيضاً لإعلان عن ارجاع أسلوب قيمة نوعه البدائية integer.[5][6][3]
تستخدم لتعريف نوع خاص من «الفئات» يحتوي فقط على طرق مجردة أو افتراضية، ومجالات ثابتة (نهائية ثابتة) وواجهات ثابتة. يمكن تنفيذه لاحقًا من خلال الفئات التي تعلن الواجهة interface مع الكلمة الرئيسية «تنفذ» implements . من خلال مساعدة interfaces يمكننا بسهولة تحقيق «التوريث» في لغة الجافا. يمكننا تعريف واجهة interface واحدة داخل واجهة أخرى another interface.
يتم استخدام الكلمة الأساسية "long" لتعريف متغير يمكنه الاحتفاظ على عدد صحيح موقع مساحته أقصاها 64 بت. يتم استخدام هذه الكلمة الأساسية أيضاً لإعلان عن ارجاع أسلوب قيمة نوعه البدائية long.[3][5][6]
تستخدم لإنشاء «مثيل» من «فئة» أو «كائن لمصفوفة». استخدام الكلمة الأساسية لهذه الغاية ليس ضروريًا تمامًا (كما هو موضح في Scala (سكالا (لغة برمجة))، على الرغم من أنه يخدم غرضين: فهو يتيح وجود مساحة اسم مختلفة لـ «الطرق» و «أسماء الفئات»، يعرّف بشكل ثابت ومحليا الي أن يتم إنشاء كائن جديد بالفعل، وما هو نوع وقت التشغيل. (يمكن القول أنه يمكن إدخال التبعية في التعليمات البرمجية).
يتم استخدام الكلمة الأساسية "private" في تعريفات «الطرق» أو "field" أو فئة داخلية حيث يمكن للأعضاء (المتغيرات) الوصول إليهم فقط من قبل أعضاء آخرين من صفهم الخاص (في نفس الفئة على سبيل المثال).[11]
يتم استخدام الكلمة الأساسية "protected" في تعريف الطرق أو field أو فئة داخلية؛ لا يمكن الوصول إلى الأعضاء المحميين إلا من قِبل أعضاء الطبقة الخاصة بهم (في نفس الفئة على سبيل المثال)، أو الفئات الفرعية لتلك الفئة (وراثة (حوسبة)) أو فئات من نفس الحزمة.[11]
يتم استخدام الكلمة الأساسية "public" في تعريف فئة أو الطرق أو field؛ حيث يمكن الوصول إلى الطبقات العامة والأساليب والحقول من قبل أعضاء أي صف. (هنا لا يشترط وجودهم في نفس الفئة)[11]
يتم استخدام الكلمة الأساسية "short" لتعريف متغير يمكنه الاحتفاظ على عدد صحيح موقع مساحته أقصاها 16بت. يتم استخدام هذه الكلمة الأساسية أيضاً لإعلان عن ارجاع أسلوب قيمة نوعه البدائية short.[3][5][6]
تستخدم للإعلان عن "field" أو "method" أو «فئة داخلية كحقل فئة». تحتفظ الفئات بنسخة واحدة من حقول الفصل بغض النظر عن عدد المثيلات الموجودة في هذه الفئة. يستخدم static أيضًا لتحديد طريقة كطريقة الفئة. ترتبط أساليب الفئة بالفئة بدلاً من مثيل محدد، ولا يمكن تشغيلها إلا في حقول الفئة. (تعتبر الطبقات والواجهات المعلنة كأعضاء ثابتين لفئة أو واجهة أخرى في الواقع فئات المستوى الأعلى وليست فئات داخلية.)
تستخدم الوراثة أساسًا لتحقيق تعدد أشكال الارتباط أو الربط في وقت التشغيل الديناميكي في لغة الjava للوصول إلى أعضاء الفئة الموروثة في الفصل الذي تظهر فيه. للسماح لفئة فرعية بالوصول إلى الأساليب المتجاوزة والأعضاء المخفيين في الطبقة الفائقة التابعة لها. يتم استخدام الكلمة المحجوزة super أيضًا لإعادة توجيه استدعاء من مُنشئ إلى مُنشئ في الطبقة الفائقة super class .
يتم استخدام الكلمة المحجوزة "switch" بالاقتران مع الحالة والافتراضية لإنشاء جملة "switch" (حالة تبديل)، التي تقوم بتقييم متغير، تتطابق مع قيمته لحالة معينة، وتقوم بتنفيذ مجموعة من العبارات المرتبطة بهذه الحالة. إذا لم تتطابق أية حالة مع القيمة، فسيتم تنفيذ الحظر الاختياري المسمى افتراضيًا، إذا تم تضمينه.[12][13]
تستخدم في تعريف "method" أو «كتلة تعليمات برمجية» للحصول على تأمين mutex (قفل (حوسبة)) لكائن أثناء تنفيذ مؤشر الترابط الحالي (خيط (حاسوب)) للتعليمات البرمجية code. بالنسبة إلى «الطرق الثابتة»، فإن الكائن المؤمّن هو «فئة الفئات». يضمن أن يقوم خيط واحد في وقت واحد يعمل على نفس الكائن بتنفيذ هذا الرمز. يتم تحرير قفل mutex تلقائيًا عندما يخرج التنفيذ من «الرمز المتزامن». لا يمكن تعريف "fields" و «الفئات» و «الواجهات» بأنها «متزامنة» synchronized.
تُستخدم لتمثيل "instance" من «الفئة» class التي تظهر بها. يمكن استخدام هذا للوصول إلى عناصر الفئة وكإشارة إلى "instance" الحالي. يتم استخدام الكلمة الأساسية "this" أيضًا لإعادة توجيه مكالمة من مُنشئ constructor واحد في فئة إلى مُنشئ آخر في نفس الفئة.
يتسبب في أن يتم طرح مثيل الاستثناء exception instance المعرف مسبقا. يتسبب هذا في تنفيذ المتابعة مع أول معالج استثناء مضمن بواسطة الكلمة الأساسية catch لمعالجة نوع استثناء متوافق مع الواجب. إذا لم يتم العثور على معالج الاستثناءات هذا في الطريقة الحالية current method ، عندئذٍ ترجع الطريقة وتكرر العملية في طريقة الاستدعاء. إذا تم العثور على أي معالج استثناء في أي استدعاء الأسلوب في بنية تخزين العناصر، يتم تمرير الاستثناء إلى معالج الاستثناء الذي لم يتم ربطه في مؤشر الترابط.
يستخدم في تعريفات الطرق methods لتحديد أي الاستثناءات لا يتم التعامل معها ضمن الطريقة بل يتم تمريرها إلى المستوى الأعلى التالي من البرنامج. يجب أن يتم التصريح عن كافة الاستثناءات غير المعلمة في طريقة ليست «مثيل» الخاصة باستثناء وقت التشغيل runtime exception باستخدام الكلمة الأساسية throws.
تعلن أن instance field «مثيل» ليس جزءًا من النموذج التسلسلي الافتراضي لـ «كائن» object . عندما يتم إجراء تسلسل كائن، يتم تضمين قيم instance field الخاصة به غير الانتقالية فقط في التمثيل التسلسلي الافتراضي. عندما يتم إلغاء تسلسل كائن، تتم تهيئة الحقول المؤقتة فقط إلى قيمتها الافتراضية. إذا لم يتم استخدام النموذج الافتراضي، على سبيل المثال، عندما يتم تعريف جدول serialPersistentFields في التسلسل الهرمي للفئة ويتم تجاهل كافة كلمات "transient" الأساسية.[14][15]
تعريف كتلة من العبارات التي لديها قدرة معالجة الاستثناءات. إذا تم طرح استثناء داخل كتلة الtry ، يمكن لكتلة «الcatch الاختيارية» التعامل مع أنواع الاستثناءات المعلنة. أيضًا، يمكن الإعلان عن حظر اختياري يتم تنفيذه عندما يخرج التنفيذ من كتلة الtry ويلتقط العبارات، بغض النظر عما إذا تم طرح استثناء أم لا. يجب أن تحتوي كتلة المحاولة على جملة catch واحدة على الأقل أو حظر نهائي.
تستخدم في بيانات المجال لتحديد أن المتغير يتم تعديله بشكل غير متزامن من خلال تشغيل سلاسل حوسبة متزامنة. ومن ثم لا يمكن اعتبار الفئات classes والinterfaces والواجهات المتقلبة، كما لا يمكن أن تكون متغيرات أو parameters.
يتم استخدام الكلمة الأساسية "while" لإنشاء حلقة تكرار "while loop"، الذي يختبر تعبيرًا منطقيًا وينفذ كتلة عبارات مرتبطة بالحلقة إذا تم تقييم التعبير إلى true ؛ يستمر هذا حتى يتم تقييم التعبير إلى false. يمكن أيضًا استخدام هذه الكلمة الأساسية لإنشاء حلقة أثناء الاستخدام؛ طالع أيضا [16][17]
^Grosso، William (21 نوفمبر 2001). "Java RMI: Serialization". ONJava. O'Reilly Media. Declaring serialPersistentFields. مؤرشف من الأصل في 2018-05-17. اطلع عليه بتاريخ 2010-09-16.