ثابت: (المعدل الثابت) ينتمي محتوى التعديل الثابت في كائن موجه نحو الكائن إلى الفئة ، لا تتم تابعًا مباشرًا للكائن ، وبالتالي تسمى متغيرات الأعضاء المعدلة بواسطة ثابت متغيرات عضو الفئة ، وتسمى طريقة التعديل الثابت عمومًا طرق الفئة.
تصنيف:
1. المتغيرات الثابتة ، وتسمى أيضا المتغيرات الثابتة أو متغيرات الفئة. نوع آخر هو متغير لا يتم تعديله بواسطة ثابت ، يسمى متغير مثيل.
2. الطريقة الثابتة ، التي تسمى أيضًا الطريقة الثابتة أو طريقة الفئة ، لا يمكنها تحديد المتغيرات الثابتة في الطرق الثابتة ، ولا يمكن لطرق المثيلات.
3. كتلة رمز ثابت ، في كتلة ثابتة ، يمكنك الوصول إلى المتغيرات الثابتة والاتصال بالأساليب الثابتة.
ملحوظات:
1. إذا كان ثابتًا لا يعتمد على أي كائن ، فلا توجد هذه الطريقة.
2. لا يمكن أن تسمي الطريقة الثابتة طريقة غير قاسية ، ولكن يمكن للطريقة غير القتالية استدعاء طريقة ثابتة.
3. الأساليب أو المتغيرات المعدلة بواسطة ثابت لا تحتاج إلى الاعتماد على كائنات للوصول. طالما تم تحميل الفصل ، يمكن الوصول إليها من خلال اسم الفصل.
4. لا يمكن إعادة كتابة الطريقة الثابتة. عندما يكون للفئة الفرعية والفئة الأم نفس الطريقة الثابتة ، فإن المكالمة الافتراضية هي الطريقة الثابتة للفئة الأصل ، ويتم إخفاء الطريقة الثابتة للفئة الفرعية.
5. تستخدم الكتل الثابتة بشكل عام لتهيئة المتغيرات الثابتة في الفئات. بناءً على محتوى التعديلات الثابتة ، يتم اتباع مبدأ التعريف الأول والتنفيذ الأول.
6. إذا كانت المتغيرات أو الأساليب غالبًا ما يتم استدعاؤها ، فاستخدم تعديلًا ثابتًا. خلاف ذلك ، استخدمه أقل لتجنب تسرب الذاكرة.
مثال رمز المتغيرات الثابتة:
اختبار الفئة العامة {static int a = 1 ؛ // متغير ثابت int b = 2 ؛ // مثيل متغير الفراغ العام الثابت الرئيسي (سلسلة [] args) {system.out.println (test.a) ؛ //system.out.print(a)؛System.out.println(b) ؛ // سيقوم متغير الإخراج B مباشرة باختبار اختبار الخطأ t = اختبار جديد () ؛ // إنشاء كائن مثيل system.out.println (TB) ؛ // كائنات مكالمات المتغير}}مثال على رمز الأساليب الثابتة:
اختبار الفئة العامة {static int a = 1 ؛ // متغير ثابت int b = 2 ؛ // مثيل متغير static void a () {// static method b () ؛ // تم الإبلاغ عن خطأ ، لا يمكن للطريقة الثابتة استدعاء method non-static system.out.println (test.a) ؛ //system.out.print(a) ؛ ؛) Void b () {// غير static method test.a () ؛ // a () ؛ يمكن أن تستدعي الطريقة غير المتوقفة System.out.println (B) ؛ system.out.println (test.a) ؛ //system.out.print(a)؛ // a () ؛ b () ؛ // يتم الإبلاغ عن خطأ ، يجب استدعاء الطرق غير المنتظمة من خلال اختبار كائن مثيل t = اختبار جديد () ؛ tb () ؛}}/**هل يمكن إعادة كتابته*/class staticson يمتد اختبار {// الفرعية من الفئة الفرعية المرثية الفئة الأصل a () الطريقة الثابتة للفئة الفرعية ، بالمعنى الدقيق للكلمة ، إنها ليست طريقة ثابتة للفئة الأصل}}مثال على رمز الكتلة الثابتة:
اختبار الفئة العامة {int c = 3 ؛ static int a = 1 ؛ static int b = 2 ؛ static {a = 10 ؛ b = 20 ؛ c = 30 ؛ // الإبلاغ عن خطأ ، يجب أن يكون المتغير في الكتلة الثابتة هو النظام المتغير الثابت. // قم بتنفيذ المتغير الثابت أولاً ، ثم قم بتنفيذ متغير المثيل}}} النهائي: فهم على أنه غير قابل للتغيير.
ملحوظات:
1. غالبًا ما يتم استخدامه معا.
2. لا يمكن تعيين المتغيرات المعدلة حسب النهائي إلا مرة واحدة.
3. لا يمكن إعادة كتابة الطريقة النهائية ، ولكن يمكن أن يتم تحميلها بشكل زائد.
4. لا يمكن مورث الفصل النهائي.
5. الكلمة الرئيسية النهائية والتجريدية معاكسة ، ومن المستحيل تعديل الفصل في نفس الوقت. لأنه لا يمكن إعادة كتابة النهائي ، ويجب إعادة كتابة مجردة.
6. الكلمة الرئيسية النهائية تختلف عن الكلمة الرئيسية النهائية ، والتي يتم استخدامها لمعالجة الاستثناءات.
7. في معظم الحالات ، لا يتم استخدام النهائي لتعديل الأساليب والفئات لأنها غير قابلة للتطوير.
8. يمكن استخدام النهائي في بيئة معينة لتحسين أداء تشغيل البرنامج وتحسين بنية البرنامج.
مثال على رمز المتغيرات النهائية والفئات النهائية:
اختبار الفئة النهائية العامة {Final Static int a = 1 ؛ ثابت {a = 10 ؛ .مثال رمز الطريقة النهائية:
اختبار الفئة العامة {Final static int a = 1 ؛ void النهائي a () {// النهائي method system.out.println (a) ؛}} class يمتد اختبار الفئة {void a () {// تم الإبلاغ