ترث طريقة مع أنواع العائد غير المرتبطة
-
13-12-2019 - |
سؤال
لدي مقتطف التعليمات البرمجية التالية
giveacodicetagpre.عندما أحاول تجميعها، حصلت على خطأ.
giveacodicetagpre.
كيفية تجنب هذا؟
المحلول
كما تمت مناقشته في java - اسم طريقة تصادم في تنفيذ الواجهة لا يمكنك القيام بذلك.
كحل بديل، يمكنك إنشاء فئة محول.
نصائح أخرى
هناك حالة واحدة فقط من شأنها أن تعمل، والتي ذكرها xamde ، ولكن لم يفسر تماما.يتعلق الأمر أنواع إرجاع covariant .
في JDK 5 يعود Covariant حيث تمت إضافته، وعلى هذا النحو التالي هو حالة صالحة من شأنها أن تجميع بشكل جيد والتشغيل دون مشاكل.
giveacodicetagpre.لذلك، سيتم تشغيل ما يلي دون أخطاء وطباعة "C" إلى الإخراج الرئيسي:
giveacodicetagpre.هذا يعمل لأن السلسلة هي نوع فرعي من الأخذ.
هذا هو BUG في مترجم Sun's Java 6 .
كان لدي نفس المشكلة ويبدو أنه على ما يرام باستخدام JDK 7 من Oracle.
لا تنتمي إلى StackOverflow