يشير الربط لاحقًا إلى الربط وفقًا لنوع الكائن في وقت التشغيل ، والمعروف أيضًا باسم الربط الديناميكي أو الربط وقت التشغيل. لتنفيذ الربط المتأخر ، يلزم دعم بعض الآليات من خلال هذا بحيث يمكن الحكم على نوع الكائن في وقت التشغيل ، ومكالمات المكالمة أكبر من الربط السابق.
الأساليب الثابتة والأساليب النهائية في Java هي الروابط المبكرة. الطرق الأخرى باستثناء الطرق الثابتة والأساليب النهائية (تنتمي إلى الأساليب النهائية) ملزمة لاحقًا ، ويمكنها تحديد نوع الكائن للربط أثناء وقت التشغيل. إجراء التحقق كما يلي:
نسخة الكود كما يلي:
قاعدة الطبقة
{
// متغيرات الأعضاء ، فئات فرعية لها أيضًا نفس اسم متغير العضو
اختبار السلسلة العامة = "حقل الأساس" ؛
// طرق ثابتة ، فئات فرعية لها أيضًا طرق ثابتة مع نفس التوقيع
الفراغ الثابت العام staticmethod ()
{
system.out.println ("base staticmethod ()") ؛
}
// الفئات الفرعية ستجاوز هذه الطريقة
الفراغ العام notstaticmethod ()
{
System.out.println ("base notstaticmethod ()") ؛
}
}
يشتق الطبقة العامة يمتد القاعدة
{
اختبار السلسلة العامة = "الحقل المشتق" ؛
الفراغ الثابت العام staticmethod ()
{
System.out.println ("derive staticmethod ()") ؛
}
@تجاوز
الفراغ العام notstaticmethod ()
{
System.out.println ("derive notstaticmethod ()") ؛
}
// إخراج قيمة متغير العضو وتحقق من أنه ملزم سابق.
public static void testfieldbind (قاعدة قاعدة)
{
system.out.println (base.test) ؛
}
// طريقة ثابتة ، تحقق من أنه ملزم سابق.
public static proid teststaticmethodbind (قاعدة قاعدة)
{
// يجب الوصول إلى اختبار الطريقة الثابتة () من قاعدة النوع بطريقة ثابتة
// من المعقول استخدام Base.Test ().
base.staticmethod () ؛
}
// استدعاء الأساليب غير الستاطية وتحقق من أنها روابط متأخرة.
public static static void testnotstaticmethodbind (قاعدة قاعدة)
{
base.notstaticmethod () ؛
}
الفراغ الثابت العام (سلسلة [] args)
{
اشتقاق d = جديد derive () ؛
Testfieldbind (D) ؛
TestStaticMethodbind (D) ؛
testNotStaticMethodbind (D) ؛
}
}
/*إخراج البرنامج:
حقل قاعدة
قاعدة staticmethod ()
لا اشتقاق notstaticmethod ()
*/