في Java ، تسمى كتل التعليمات البرمجية كتل الرمز ، ويمكن تقسيم كتل التعليمات البرمجية إلى الأنواع الأربعة التالية:
1. مقدمة
1. كتلة الكود العادي:
طريقة هيئة الطريقة في الفصل
2. بناء كتلة الكود :
يتم استدعاء المُنشئ عند إنشاء الكائن ، ويتم استدعاؤه في كل مرة يتم إنشاؤه ، مع الأسبقية على تنفيذ مُنشئ الفئة.
3. كتلة الرمز الثابت:
سيتم تنفيذ مقتطف رمز ملفوف في ثابت {} مرة واحدة فقط. كتل الرمز الثابت لها الأسبقية على تنفيذ كتلة البناء.
4. مزامنة كتلة الكود:
يجب أن تكون عمليات الكود المتزامنة () {} ملفوفة في بيئة متعددة الخيوط ، وقراءة وكتابة العمليات على البيانات المشتركة حصرية ، وإلا فإنها ستؤدي إلى عدم تناسق البيانات. يجب كتابة كتل التعليمات البرمجية المتزامنة في هذه الطريقة.
2. أوجه التشابه والاختلاف بين كتل التعليمات البرمجية الثابتة وكتل التعليمات البرمجية المبنية
أوجه التشابه: جميع JVMs تحميل الفصل وتنفيذها قبل تنفيذ المنشئ. يمكن تعريف المتعددة في الفصل. بشكل عام ، يتم تعيين بعض المتغيرات الثابتة في كتلة الكود.
الفرق: يتم تنفيذ كتل التعليمات البرمجية الثابتة قبل كتل الكود غير القديم. يتم تنفيذ كتل التعليمات البرمجية الثابتة مرة واحدة فقط على الجديد ولا يتم تنفيذها بعد ذلك. بدلاً من ذلك ، يتم تنفيذ كتل التعليمات البرمجية غير القديم بمجرد كل شيء جديد.
ثلاثة. مثال
كتلة الكود العادي: {} الذي يظهر في طريقة أو عبارة تسمى كتلة رمز عادي. يتم تحديد ترتيب تنفيذ كتل التعليمات البرمجية العادية والبيانات العامة بالترتيب الذي تظهر به في الكود ، ويظهر أولاً أولاً.
اختبار الفئة العامة {public static void main (string [] args) {{int x = 3 ؛ system.out.println ("variable x =" + x) ؛ } int x = 1 ؛ system.out.println ("variable x =" + x) ؛ {int y = 7 ؛ system.out.println ("variable y =" + y) ؛ } ستركتلة رمز البناء: تسمى كتلة رمز محددة مباشرة في الفئة وليس لها كلمة رئيسية ثابتة كتلة رمز البناء {}. يتم استدعاء كتلة رمز المنشئ عند إنشاء كائن ، وفي كل مرة يتم إنشاء الكائن ، يتم استدعاؤه ، ويأخذ ترتيب تنفيذ رمز المُنشئ الأسبقية على مُنشئ الفئة. إذا كان هناك العديد من كتل التعليمات البرمجية التي تم إنشاؤها ، يتم تحديد أمر التنفيذ بالترتيب الذي يظهر فيه في الرمز ، ويظهر أولاً التنفيذ الأول.
الفئة العامة test1 {{system.out.println ("First Building Block") ؛} Test1 (int i) {system.out.println ("th" + i + "sub-call" + "constructor") ؛} {new System.out.println ("Second Building Build") ؛ Test1 (2) ؛}}/** نتيجة التنفيذ ، أول لبنة بناء* لبنة البناء الثانية* مُنشئ المكالمات 0* لبنة البناء الأولى* لبنة البناء الثانية* أول لبنة بناء أول* لبنة البناء الأولى* البناء الثاني* المكالمة الثانية لبناء طريقة*/كتلة الرمز الثابت: تم إعلان كتلة رمز باستخدام الكلمة الرئيسية الثابتة في Java. يتم استخدام الكتل الثابتة لتهيئة الفئات وتهيئة سمات الفصل. سيتم تنفيذ كل كتلة رمز ثابت مرة واحدة فقط. نظرًا لأن JVM تنفذ كتل التعليمات البرمجية الثابتة عند تحميل الفئة ، فإن كتل الكود الثابت تنفذ قبل الطريقة الرئيسية.
إذا كانت الفئة تحتوي على كتل متعددة من التعليمات البرمجية الثابتة ، فسيتم تنفيذها أولاً ، فسيتم تنفيذ الرمز المحدد لاحقًا.
يلاحظ:
1. لا يمكن أن توجد كتل التعليمات البرمجية الثابتة في أي هيئة.
2. لا يمكن لكتل الكود الثابتة الوصول مباشرة إلى متغيرات المثيل وطرق المثيل ، ويجب الوصول إليها من خلال كائن مثيل الفئة.
اختبار الفئة العامة test3 {public static string static_field = "السمة الثابتة" ؛ // كتلة ثابتة ثابتة {system.out.println (static_field) ؛ system.out.println ("كتلة رمز ثابت 1") ؛ 2 ") ؛} public initodertest () {system.out.println (" لا يوجد مُنشئ المعلمة ") ؛} الفراغ الثابت العام (سلسلة [] args) {initodertest test = new initodertest () ؛} // block non-static {system.out.println (field) ؛ system.println ( {system.out.println (static_field) ؛ system.out.println ("كتلة رمز ثابتة 2") ؛}/** Run Run Running STATITION* كتلة رمز ثابت 1* سمة ثابتة* كتلة رمز ثابتة 2* سمة غير متتاليةيوضح الرمز التالي العلاقة ذات الأولوية بين كتل التعليمات البرمجية الفردية لإنشاء كائن واتصال طريقة:
Public Class Person {static {system.out.println ("1. أنا كتلة ثابتة ، والتي لها الأسبقية على تنفيذ كتلة البناء! وتنفذ مرة واحدة فقط عند إنشاء الكائن الأول!") function1 () {system.out.println ("أنا كتلة رمز طبيعي في طريقة غير قاسية ، والتي لها الأسبقية عندما تسمى الطريقة!") ؛} وظيفة الفراغ الثابتة العامة 2 () {system.out.println ("أنا كتلة رمز عادي في طريقة ثابتة. يتم تنفيذ الطريقة في وقت لاحق من الكتلة الثابتة!")فئة الاختبار:
الطبقة العامة HelloWrold {public static void main (string [] args) {new person (). function1 () ؛ New person () ============================================================= ============================================================= =========================================================== ============================================================= ============================================================= =============================================================نتائج التشغيل:
يمكننا أن نرى أن الكتل الثابتة يتم تنفيذها دائمًا أولاً ، وسيتم تنفيذها إلا مرة واحدة عند إنشاء الحالة الأولى من الفصل ؛ والثاني هو كتلة المنشئ. والثالث هو طريقة المنشئ.
لخص
ما ورد أعلاه هو كل شيء عن التفسير التفصيلي لكتل الرموز الأربعة في جافا ، وآمل أن يكون مفيدًا للجميع. يمكن للأصدقاء المهتمين الاستمرار في الرجوع إلى الموضوعات الأخرى ذات الصلة على هذا الموقع. إذا كانت هناك أي أوجه قصور ، فيرجى ترك رسالة لإشارةها. شكرا لك يا أصدقائك لدعمكم لهذا الموقع!