تعد الواجهات، مثل الفئات، أيضًا أحد أنواع البيانات المهمة في لغة Java. تسمى المتغيرات المعلنة مع الواجهات بمتغيرات الواجهة ، فما نوع البيانات التي يمكن تخزينها في متغيرات الواجهة؟
بادئ ذي بدء، الواجهات هي متغيرات مرجعية . يمكن لمتغيرات الواجهة تخزين المراجع إلى مثيلات الفئات التي تنفذ الواجهة، أي تخزين المراجع إلى الكائنات.
على سبيل المثال: لنفترض أن Com عبارة عن واجهة، فيمكنك استخدام Com للإعلان عن متغير.
كومكوم؛
نظرًا لأن متغير COM لم يقم بعد بتخزين مرجع للكائن الذي ينفذ الواجهة، يُقال أن COM في هذا الوقت عبارة عن واجهة فارغة .
افترض أن فئة ImpleCom هي فئة تطبق واجهة Com. استخدم ImpleCom لإنشاء كائن مسمى، ثم لا يمكن لكائن الكائن استدعاء الأساليب الأصلية في فئة ImpleCom فحسب، بل يمكنه أيضًا استدعاء أساليب الواجهة التي يتم تنفيذها بواسطة فئة ImpleCom. .
ImpleComobject=newImpleCom();
أصل مصطلح " رد الاتصال بالواجهة ":
تستعير هذه الكلمة مصطلح رد اتصال المؤشر في لغة C، مما يعني أن عنوان المتغير يتم تخزينه في متغير المؤشر في لحظة معينة، ومن ثم يمكن لمتغير المؤشر تشغيل البيانات المخزنة في المتغير بشكل غير مباشر.
في لغة Java، يعني رد الاتصال بالواجهة أنه يمكن تعيين مرجع الكائن الذي تم إنشاؤه بواسطة فئة تنفذ واجهة لمتغير الواجهة الذي أعلنته الواجهة، ثم يمكن لمتغير الواجهة استدعاء طريقة الواجهة التي تنفذها الفئة عندما تستدعي الواجهة متغيرًا طريقة واجهة يتم تنفيذها بواسطة فئة ما، فإنها تُعلم الكائن المقابل باستدعاء هذه الطريقة.
ملاحظة : لا يمكن للواجهة استدعاء طرق أخرى غير الواجهة في الفصل.