Warga Java yang dihormati, katakan terdapat kod di mana kaedah dalam kelas yang diwarisi ditindih:
class Pet { String name; String age; String getString() { return "Домашнее животное"; } } class Cat extends Pet { String getString() { return "Кот Рыжик"; } } public static void main(String[] args) { Pet cat = new Cat(); cat.getString(); }
sila beritahu saya versi kaedah getString() yang manakah akan dipanggil untuk pembolehubah kucing? Saya membaca dalam kuliah bahawa anda boleh memanggil kaedah objek hanya jika ia hadir dalam kelas yang digunakan sebagai jenis rujukan kepada objek, tanpa mengira jenis objek sebenar. Adakah ini bermakna bahawa dalam kes ini kaedah dari kelas Haiwan peliharaan akan dipanggil, atau dalam kes mengatasi kaedah, kaedah dari kelas objek akan dipanggil? Terima kasih.
GO TO FULL VERSION