تحلل هذه المقالة باختصار استخدام ثابت في Java ، وخاصة خمسة جوانب: متغيرات الأعضاء الثابتة ، والطرق الثابتة ، والكتل الثابتة ، والطبقات الداخلية الثابتة ، والحزم الثابتة.
بادئ ذي بدء ، دعنا نتحدث عن الفرق بين الكائنات الثابتة والكائنات غير الستاطية في الجدول:
| كائنات ثابتة | كائنات غير متتالية | |
| الإسناد | الفصول الدراسية | كل مثيل من الفصل مملوكة بشكل مستقل |
| تخصيص الذاكرة | ثابت في مساحة الذاكرة | مهمة فئة تابعة |
| تخصيص أمر المساحة | إعطاء الأولوية لتخصيص مساحة الكائنات الثابتة | الأولوية تخصص مساحة كائن ثابتة ، وينطبق الشيء نفسه على التهيئة |
1 متغيرات ثابتة ، طرق ثابتة ، كتل ثابتة
تم تزيين الكائنات الثابتة والأساليب الثابتة بكلمات رئيسية ثابتة على الكائنات والأساليب الأصلية ، مما يشير إلى أن الفئة يمكنها استدعاءها مباشرة دون إنشاء مثيل لها قبل الاتصال بها. الفوائد هي:
1-بيانات الكائنات الثابتة فريدة من نوعها على مستوى العالم ، ويمكن أن تضمن تفرد البيانات.
2-من السهل اقتباس ، ما عليك سوى استخدام اسم الفئة وطريقة (خصائص) مباشرة ، لا حاجة إلى الحصول على وتعيين
بالطبع ، الأساليب الثابتة (المتغيرات ، الكتل) لها أيضًا قيود مقابلة:
1 لا يمكن استدعاء الطرق الأخرى غير الستاطية (يمكن استدعاء الطرق الثابتة فقط)
2-الوصول فقط إلى بيانات ثابتة
3-لا يمكن الرجوع إلى هذا أو الفائق بأي شكل من الأشكال
نموذج الرمز:
الفئة العامة staticexercise {public static string sky = "jeyson" ؛ سلسلة ثابتة عامة getMysky (سلسلة Sky) {return sky ؛} ثابت {system.out.println ("هذا هو المحتوى في الكتلة الثابتة-") فريد من نوعه على مستوى العالم ، ويمكن التأكد من أن البيانات فريدة من نوعها. * 2-المرجع مريح ، فقط استخدم اسم الفئة وطريقة ، دون تعيين واحصل على *** تعيين ترتيب المساحة:* أولاً تخصيص مساحة كائن ثابت ثم غير استاتيكي. أمر التهيئة هو نفسه *** *** متغيرات الأعضاء المعدلة النهائية والأساليب الأعضاء يمكن فهمها على أنها متغيرات عالمية (لا يوجد مفهوم للمتغيرات العالمية في Java) testStatic1 () {system.out.println (sky) ؛ system.out.println ("---------------") ؛ system.out.println (getMysky (sky)) ؛ system.out.println ("-------------------") 2 فئة داخلية ثابتة
عندما ترتبط فئة واحدة ارتباطًا وثيقًا بفئة أخرى (فئة خارجية) ، وعادة ما يتم استخدام الفئة فقط عند استخدام فئة خارجية ، يمكن استخدام الفئة كفئة داخلية ثابتة. يمكن إنشاء هذا مباشرة حيث يتم تحميل الفصل. لا حاجة لإنشاء مثيل لها.
طريقة الاستخدام: محملة بالفئة ، واتصل بالفئة الخارجية المباشرة ، والفئة الداخلية ، والكائن الثابت (الطريقة)
نموذج الرمز:
الفصل staticest {sms static sms = "to my sky" ؛ getsms public static String () {return sms ؛}/*** فئة داخلية ثابتة**** سيناريو الاستخدام:*الفئة الداخلية مرتبطة ارتباطًا وثيقًا بالفئة الخارجية ، ويتم استخدام هذه الفئة بشكل عام فقط عند استخدام الفئة الخارجية*** استخدام*تم تحميلها مع الفئة الخارجية بشكل مباشر. الطبقة الداخلية. كائن ثابت (الطريقة)*/static class innerstatic {public static final string mysky = "my final sky" ؛} testpublic void testStatic2 () {system.out.println (Statictest.innerstatic.mysky) ؛} 2 حزمة دليل ثابت
إذا لم تكن الفئة التي تريد استخدامها في نفس الحزمة مثل الفئة الحالية ، فيمكنك استخدام حزمة التسليم الثابتة. وبهذه الطريقة ، فإن الطريقة الثابتة أو المتغير الذي تريد استخدامه يعادل أن تكون مرئيًا مباشرة في الفصل ، وليس هناك حاجة لاستدعاء اسم الفصل أو المتغير الثابت.
كيفية استخدام:
استيراد اسم الحزمة الثابت
فائدة:
المتغيرات والأساليب الثابتة المستوردة مرئية مباشرة في هذه الفئة ويتم استخدامها مباشرة
ضرر:
إلى حد ما ، يتم تقليل قابلية قراءة الكود
مثال رمز:
الفئة العامة MystaticImportTest {الرقم النهائي الثابت العام = 55 ؛ الفراغ الثابت العام getMywords () {system.out.println ("مرحبًا ، هذا اختبار للحزمة المتميزة الثابتة") ؛}} staticexercise {/*** حزمة الرصاص الثابت* *** طريقة الاستخدام:* الاستيراد الثابت المباشر المتغيرات والطرق المقابلة: (استيراد اسم الحزمة الثابتة. اسم الفئة. فئة ، لا حاجة لإعطاء اسم الفصل* *** العيوب* إلى حد ما تقليل قابلية قراءة الكود*/@testpublic void testStatic3 () {// بعد الاستيراد الثابت ، يمكنك استخدام int mynumber = number ؛ getMyWords () ؛}}ما سبق هو تحليل موجز لاستخدام الكلمات الرئيسية الثابتة في جافا التي قدمها لك المحرر. آمل أن يكون ذلك مفيدًا لك. إذا كان لديك أي أسئلة ، فيرجى ترك رسالة لي وسوف يرد المحرر إليك في الوقت المناسب. شكرا جزيلا لدعمكم لموقع wulin.com!