تصف هذه المقالة جدولة الطريقة الديناميكية لجافا. شاركه للرجوع إليه ، على النحو التالي:
جدولة الطريقة الديناميكية:
1. الوصول إلى طريقة غير قابلة للثلاث لمتغير مشار إليه ، ويربط طريقة الكائن المرجع الفعلي في وقت التشغيل.
2. الوصول إلى طريقة ثابتة لمتغير مشار إليه ، والذي يرتبط بأسلوب الفئة المعلن في وقت التشغيل.
3. الوصول إلى متغيرات الأعضاء للمتغير المشار إليه (بما في ذلك المتغيرات الثابتة ومتغيرات المثيل) ، وربط متغيرات الأعضاء للفئة المعلنة في وقت التشغيل.
النقطة 3: انتبه بشكل خاص ، لم ألاحظ ذلك من قبل
1. الطرق غير الستاطية:
شخص الطبقة العامة {اسم السلسلة العامة ؛ public void getInfo () {system.out.println ("parent class") ؛ }} طالب الفئة العامة يمتد الشخص {public void getInfo () {// method override super.getinfo () ؛ // استدعاء طريقة الفئة الأصل system.out.println ("الفئة الفرعية") ؛} الفراغ الثابت العام الرئيسي (سلسلة [] args) {person s = new student () ؛ الشخص t = شخص جديد () ؛ s = t ؛ // نوع الكائن من S هو الفئة الأصل ، أي فئة الشخص S.GetInfo () ؛}}نتيجة التشغيل هي: فئة الوالدين
2. طريقة ثابتة:
شخص الطبقة العامة {اسم السلسلة العامة ؛ public static void getInfo () {system.out.println ("parent class") ؛ }} طالب الفئة العامة يمتد الشخص {publics static void getInfo () {// method override system.out.println ("الفئة الفرعية") ؛} الفراغ العام الثابت الرئيسي (سلسلة [] args) {person s = new student () ؛ s.getinfo () ؛ // ما يعادل person.getInfo () ؛}}نتيجة التشغيل هي: فئة الوالدين
3. المتغيرات الأعضاء
الفئة العامة erson {public string name = "الأب" ؛ public void getInfo () {system.out.println ("parent class") ؛ }} طالب الفئة العامة يمتد الشخص {public string name = "son" ؛ public void getInfo () {// method override super.getinfo () ؛ // استدعاء طريقة الفئة الأصل system.out.println ("الفئة الفرعية") ؛} الفراغ الثابت العام الرئيسي (سلسلة [] args) {person s = new student ()النتيجة الجري: Fanther
وينطبق الشيء نفسه على تغيير متغيرات الأعضاء إلى أنواع ثابتة
بالإضافة إلى ذلك ، للمتغيرين التاليين
الطلاب = طالب جديد () ؛ شخص t = طالب جديد () ؛
ومع ذلك ، هناك بالفعل فرق بين الاثنين. عندما يكون لدى الطالب الفرعي طريقة مخصصة خاصة به (وليس في الفصل الأصل) ، على سبيل المثال ، هناك طريقة
Goschool العامة () {}ثم يمكن فقط استدعاء طريقة Goschool هذه
لا يمكن استدعاء t
آمل أن يكون هذا المقال مفيدًا لبرمجة Java للجميع.