1. المتغيرات الثابتة المستخدمة في ثابت في جافا
1. يسمى الأعضاء في Java المعدلة بواسطة ثابت الأعضاء أو أعضاء الفصل. إنه ينتمي إلى الفئة بأكملها ، وليس إلى كائن ، أي أنه يتم مشاركته بواسطة جميع كائنات الفئة ويوجد في الأولوية على الكائنات. يمكن الوصول إلى الأعضاء الثابتة مباشرة باستخدام أسماء الفصول أو أسماء الكائنات. استخدم ثابتًا لتعديل المتغيرات والأساليب وكتل التعليمات البرمجية.
2. يمثل المعدل العام العام والجمهور ، ويتم تعديل المتغيرات الثابتة مع متغيرات ثابتة.
3. في طريقة ثابتة ، يمكن استدعاء الأعضاء الثابتين في نفس الفصل مباشرة ، ولكن لا يمكن استدعاء الأعضاء غير القديم مباشرة.
الفئة العامة Hellworld {string name = "java" ؛ // متغير غير متغير Static String Hobby = "Programming" ؛ // static static static static void print () {system.out.println ("مرحبًا:" + name + "!") ؛ // متغير غير منتظم system.out.println ("مرحبًا:" + Hobby + "!") ؛ // يمكن استدعاء متغيرات ثابتة}} مباشرة4. إذا كنت ترغب في استدعاء المتغيرات غير المنتظمة في طريقة ثابتة ، فيمكنك إنشاء كائن من الفصل ثم الوصول إلى المتغيرات غير الستاطية من خلال الكائن.
الفئة العامة HelloWorld {string name = "java" ؛ // متغير غير متغير Static String Hobby = "Program" ؛ // متغير ثابت // استدعاء متغير غير متغير باطل عام ثابت () {// إنشاء كائن Helloworld Hello = new Helloworld () ؛ // استخدم الكائنات لاستدعاء system.out.out.println في طريقة ثابتة ("مرحبًا:"+hello.name+"!") ؛ // في طريقة ثابتة ، يمكنك استدعاء STATIC VARIALITY SYSTEM.OUT.PRINTN مباشرة ("مرحبًا بكم في"+برنامج+""+hello.name) ؛ }}5. في أساليب الأعضاء العادية ، يمكنك الوصول مباشرة إلى نفس النوع من المتغيرات غير الستاطية والمتغيرات الثابتة.
الفئة العامة Hellworld {string name = "java" ؛ // متغير غير متغير Static String Hobby = "Programing" ؛ // static variable void print () {// normal method system.out.println ("مرحبًا:" + name + "!") ؛ System.out.prinltn ("مرحبًا بك في برنامج"+برنامج+"+hello.name) ؛}}6. لا يمكن استدعاء الطرق غير القتالية مباشرة في الطرق الثابتة. يجب الوصول إلى الأساليب غير الاستقليوية من خلال الكائنات.
الفئة العامة Hellworld {string name = "java" ؛ // متغير غير متغير Static String Hobby = "Program" ؛ // متغير ثابت // غير static method show public void () {system.out.println ("أنا طريقة غير ثابتة ، ولا يمكن استدعاؤها مباشرة بواسطة طريقة ثابتة ....") ؛ }. } // يتم استدعاء طريقة غير قاسية من خلال الكائنات في الطرق الثابتة. يمكنك الاتصال مباشرة بالطريقة الثابتة print static static print () {// إنشاء كائن الفئة HelloWorld Hello = new HelloWorld () ؛ // حساب الطريقة غير الستراتية Hello.show () في الطريقة الثابتة ؛ // حساب الطريقة الثابتة show2 () ؛ }}2. كتل التهيئة الثابتة المستخدمة في جافا
1. في إعلان الفصل ، يمكن تضمين كتل تهيئة متعددة. عند إنشاء مثيل للفصل ، سيتم تنفيذ كتل الكود هذه بدورها. إذا كنت تستخدم ثابتًا لتعديل كتلة التهيئة ، فسيطلق عليه كتلة تهيئة ثابتة.
2. الفرق بين متغيرات المثيل ومتغيرات الفئة:
أ) موقع التخزين: يتم تخزين متغيرات الفصل في منطقة الطريقة حيث يتم تحميل الفئة ؛ توجد متغيرات مثيل في ذاكرة الكومة عند إنشاء الكائن.
ب) دورة الحياة: دورة حياة متغير الطبقة هي الأطول وتختفي مع اختفاء الفصل ؛ تختفي دورة حياة متغير مثيل مع اختفاء الكائن.
3. يتم تنفيذ كتلة التهيئة الثابتة فقط عند تحميل الفصل وسيتم تنفيذها مرة واحدة فقط. في الوقت نفسه ، لا يمكن كتلة التهيئة الثابتة تعيين قيم إلا للمتغيرات الثابتة ولا يمكن تهيئة متغيرات الأعضاء العادية. عند تشغيل البرنامج ، يتم تنفيذ عملية التهيئة الثابتة أولاً وتتخذ الأسبقية على الوظيفة الرئيسية ، ثم يتم تنفيذ كتلة التهيئة العادية ، وأخيراً يتم تنفيذ طريقة البناء.
الفئة العامة staticdemo {int num1 ؛ // DECRANE Variable 1 int num2 ؛ // DECLARE Variable 2 static int num3 ؛ // DECLARE static fariable 3 public staticdemo () {// method method num1 = 88 ؛ System.out.println ("تعيين القيمة للمتغير 1 من خلال طريقة البناء") ؛ } {// كتلة التهيئة num2 = 99 ؛ System.out.println ("تعيين القيمة إلى المتغير 2 من خلال كتلة التهيئة") ؛ } ثابت {// التهيئة الثابتة هنا ، لا يمكنك giel المتغيرات العادية تعيين قيمة num3 = 77 ؛ System.out.println ("تعيين القيمة إلى متغير ثابت 3 من خلال كتلة التهيئة الثابتة") ؛ } main static void main (string [] args) {staticdemo hello = new StaticDemo () ؛ // إنشاء كائن class hello system.out.println ("num1:" + hello.num1) ؛ System.out.println ("num2:" + hello.num2) ؛ System.out.println ("num3:" + hello.num3) ؛ StaticDemo Hello1 = New StaticDemo () ؛ }} نتائج التشغيل: