في جافا، ثابتة هي كلمة أساسية يمكن استخدامها مع المتغيرات والفئات والكتل والأساليب. عندما نستخدم الكلمة الأساسية الثابتة قبل أي منها، فهذا يعني أن العضو المحدد ينتمي إلى النوع نفسه. بمعنى آخر، يتم إنشاء مثيل لعضو ثابت ومشاركته عبر كافة مثيلات الفئة.
في هذا القسم سوف نستخدم ثابتة الكلمة الرئيسية مع فئة جافا وفهم أيضا لماذا نستخدم فئة ثابتة؟
جافا فئة ثابتة
يمكننا الإعلان عن فئة ثابتة باستخدام الكلمة الأساسية الثابتة. لا يمكن إعلان فئة ثابتة إلا إذا كانت فئة متداخلة . لا يتطلب أي مرجع للطبقة الخارجية. خاصية الفئة الثابتة هي أنها لا تسمح لنا بالوصول إلى الأعضاء غير الثابتين في الفئة الخارجية.
لفهم مفهوم الطبقة الثابتة نحتاج أولاً إلى فهم مفهوم داخلي، خارجي، و متداخلة فصل.
الطبقة الداخلية
يتم استدعاء الفئات غير الثابتة والمتداخلة الطبقات الداخلية . لاحظ أنه لا يمكننا إنشاء مثيل للفئة الداخلية دون إنشاء مثيل للفئة الخارجية. بدون استخدام المرجع إلى مثيل الفئة الخارجية، يمكن لمثيل الفئة الداخلية الوصول إلى أعضاء فئتها الخارجية. يجعل البرنامج بسيطًا وموجزًا.
الطبقة الخارجية
يتم استدعاء الفئة التي يتم فيها تعريف الفئة المتداخلة الطبقة الخارجية .
فئة متداخلة
جافا يسمح لنا بتحديد فئة داخل فئة تعرف باسم فئة متداخلة . وقد تكون ثابتة أو غير ثابتة. الفرق الرئيسي بين الفئة الثابتة وغير الثابتة هو أن:
- يمكن إنشاء مثيل للفئة المتداخلة الثابتة دون إنشاء مثيل لفئتها الخارجية.
- يمكن الوصول إلى الأعضاء الثابتين وغير الثابتين في الفئة الخارجية بواسطة فئة داخلية.
- لا يمكن الوصول إلى الأعضاء الثابتين في الفئة الخارجية إلا من خلال الفئة الثابتة.
يتذكر
- جميع الفئات الثابتة هي فئات متداخلة ولكن العكس غير صحيح.
- يمكنه الوصول فقط إلى الأعضاء الثابتين من الطبقة الخارجية.
- لا يمكن الوصول إلى المتغيرات غير الثابتة وأساليب المثيل داخل الفئة الثابتة. إذا حاولت الوصول إلى مرجع غير ثابت من حقل ثابت، فسيظهر خطأ: لا يمكن إنشاء مرجع ثابت إلى الحقل غير الثابت.
- يمكننا إنشاء كتل ثابتة ومتغيرات وأساليب داخل فئة ثابتة.
- قد تحتوي الفئة على فئات ثابتة متعددة.
- لا يمكننا الوصول إلى الفئة الثابتة إذا كانت داخل الكتلة الثابتة.
- قد يكون هناك أي عدد من الفئات الثابتة داخل فئة ثابتة.
مثال على فئة جافا الثابتة
JavaStaticClassExample.java
public class JavaStaticClassExample { private static String s= 'Javatpoint'; //Static and nested class static class StaticNestedClass { //non-static method of the nested class public void show() { //prints the string defined in base class System.out.println(s); } } public static void main(String args[]) { JavaStaticClassExample.StaticNestedClass obj = new JavaStaticClassExample.StaticNestedClass(); //invoking the method of the nested class obj.show(); } }
انتاج:
Javatpoint
لماذا نستخدم فئة ثابتة في جافا؟
في Java، يتم استخدام الكلمة الأساسية الثابتة بشكل أساسي لإدارة الذاكرة. يمكننا استخدام الكلمة الأساسية الثابتة مع المتغيرات والأساليب والكتل والفئات. يعد استخدام الفئة الثابتة طريقة لتجميع الفئات معًا. يتم استخدامه أيضًا للوصول إلى العضو البدائي للفئة المرفقة من خلال مرجع الكائن. يتم تحميل الفئات الثابتة بواسطة أداة تحميل الفئة في وقت الاستخدام الأول فقط، وليس عند تحميل الفئة المضمنة.