1. تهيئة الفصل
بالنسبة لتهيئة الفئة: تتم تهيئة الفئة بشكل عام مرة واحدة فقط، وتقوم تهيئة الفئة بشكل أساسي بتهيئة متغيرات الأعضاء الثابتة.
يحدد تجميع الفصل عملية تهيئة الفصل.
يقوم ملف الفئة الذي تم إنشاؤه بواسطة المترجم بشكل أساسي بإجراء التغييرات التالية على الفئات المحددة في الملف المصدر:
1) قم أولاً بتعريف متغيرات الأعضاء داخل الفصل بالترتيب الذي يتم به تعريف متغيرات الأعضاء الثابتة.
2) التهيئة وفقًا لتسلسل التهيئة لمتغيرات الأعضاء في فئة جافا الأصلية.
التحويل المقابل بين فئة Java والفئة المترجمة هو كما يلي:
الملف المصدر:
انسخ رمز الكود كما يلي:
شخص من الدرجة العامة{
اسم السلسلة الثابتة العامة = "Zhang San"؛
العمر الثابت العام؛
ثابت {
العمر = 20؛
System.out.println("عمر التهيئة");
}
عنوان السلسلة الثابتة العامة؛
ثابت {
عنوان = "بكين"؛
العمر = 34؛
}
public static void main(String[] args) {
System.out.println(name);
System.out.println(age);
System.out.println(address);
}
}
عندما يتم تحويل كود مصدر Java إلى ملف فئة، يتم تحويله إلى تعليمة برمجية مشابهة لما يلي:
انسخ رمز الكود كما يلي:
شخص من الدرجة العامة{
اسم السلسلة الثابتة العامة؛
العمر الثابت العام؛
عنوان السلسلة الثابتة العامة؛
ثابت {
الاسم = "تشانغ سان"؛
العمر = 20؛
System.out.println("عمر التهيئة");
عنوان = "بكين"؛
العمر = 34؛
}
public static void main(String[] args) {
System.out.println(name);
System.out.println(age);
System.out.println(address);
}
}
يتم تنفيذ تسلسل التهيئة بشكل تسلسلي وفقًا لتسلسل التهيئة لمتغيرات أعضاء الفئة المقابلة بعد التحويل، بحيث يتم الإعلان عن جميع متغيرات الأعضاء الثابتة أولاً ثم يتم تعيينها، ويعتمد ترتيب التعيين أيضًا على الترتيب الذي يتم به متغيرات الأعضاء الثابتة تمت تهيئته في الكود المصدري، ملاحظة: تعريف متغير العضو وتهيئته مباشرة يعادل تهيئته في كتلة تعليمات برمجية ثابتة، وكلاهما بالترتيب الذي تم تعريفهما به في الكود المصدري.
2. توليد الأشياء
تشبه عملية التهيئة لإنشاء الكائن عملية التهيئة للفئة، ولكن ستتم إضافة مرحلة المنشئ، ويكون الكود المصدري كما يلي:
انسخ رمز الكود كما يلي:
شخص من الدرجة العامة{
{
اسم = "李思"؛
العمر = 56؛
System.out.println("عمر التهيئة");
عنوان = "شنغهاي"؛
}
اسم السلسلة العامة = "تشانغ سان"؛
العمر العام = 29؛
عنوان السلسلة العامة = "بكين"؛
شخص عام (){
الاسم = "تشاو ليو"؛
العمر = 23؛
عنوان = "شنغهاي"؛
}
}
بعد أن يقوم المترجم بتحويله إلى ملف فئة، سيتم تحويله إلى تعليمات برمجية مشابهة لما يلي:
انسخ رمز الكود كما يلي:
شخص من الدرجة العامة{
اسم السلسلة العامة؛
العمر العام؛
عنوان السلسلة العامة؛
شخص عام (){
اسم = "李思"؛
العمر = 56؛
System.out.println("عمر التهيئة");
عنوان = "شنغهاي"؛
الاسم = "تشانغ سان"؛
العمر = 29؛
عنوان = "بكين"؛
الاسم = "تشاو ليو"؛
العمر = 23؛
عنوان = "شنغهاي"؛
}
}
يمكن ملاحظة أن تهيئة متغيرات الأعضاء في الفصل والتعليمات البرمجية الموجودة في كتلة التعليمات البرمجية قد تم نقلها جميعًا إلى المنشئ، وتتم تهيئة متغيرات الأعضاء بشكل تسلسلي وفقًا لترتيب التهيئة لملف Java المصدر، في حين أن التعليمات البرمجية الموجودة في المنشئ الأصلي يتم نقله إلى التنفيذ الأخير للمنشئ. لم يكن لدي فهم عميق لعملية تهيئة الفصل من قبل، ولم أتمكن من معرفة كيفية تهيئتها، ولم أتمكن إلا من تذكر تسلسل التهيئة وفقًا للكتاب، لكنني نسيته بعد فترة، لذا هذه المرة أخيرًا، من الأفضل شرح آلية التهيئة وفقًا للنموذج، وليست هناك حاجة لحفظها بعد الآن.