Kaedah Overriding dan Varian Jenis Pulangan
Bolehkah kaedah overridden berbeza dalam jenis return?
Sokongan Java untuk jenis pulangan kovarian membenarkan kaedah yang diganti untuk memiliki jenis pulangan yang lebih spesifik daripada kaedah yang mereka gunakan override.
Jenis pemulangan kaedah mengatasi mesti boleh diserahkan kepada jenis pemulangan kaedah yang diganti. Contohnya:
class ShapeBuilder { ... public Shape build() { .... } class CircleBuilder extends ShapeBuilder{ ... @Override public Circle build() { .... }
Mengikut Spesifikasi Bahasa Java (bahagian 8.4.5), kebolehgantian jenis pulangan dibenarkan jika:
Gelagat Warisan (Java 5 dan Sebelumnya)
Sebelumnya kepada Java 5, kaedah yang diganti mempunyai jenis pulangan invarian, bermakna mereka perlu memadankan jenis pulangan kaedah yang diganti betul-betul.
Atas ialah kandungan terperinci Bolehkah Kaedah Overridden di Java Mempunyai Jenis Pulangan Berbeza?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!