Kita semua tahu bahwa "mamalia mempunyai banyak jenis suara", seperti: "mengaum", "melolong", "guk", "meong", dll. Ini adalah polimorfisme suara.
Jadi, ketika suatu kelas memiliki banyak subkelas, dan semua subkelas ini menimpa metode di kelas induk, ketika kita meletakkan referensi objek yang dibuat oleh subkelas tersebut ke dalam objek kelas induk, kita mendapatkan objek An upcast dari objek tersebut. Pada saat ini, objek upcast mungkin mempunyai polimorfisme ketika memanggil metode ini, karena subkelas yang berbeda mungkin menghasilkan perilaku yang berbeda ketika mengganti metode kelas induk.
Misalnya: ketika objek kelas anjing yang ditransformasikan ke atas memanggil metode "gonggongan", perilaku yang dihasilkan adalah "guk", sedangkan ketika objek kelas kucing yang ditransformasikan ke atas memanggil metode "gonggongan", perilaku yang dihasilkan adalah "meong" dan seterusnya.
Polimorfisme berarti bahwa ketika suatu metode dari kelas induk ditimpa oleh subkelasnya, masing-masing dapat menghasilkan perilaku fungsionalnya sendiri.
Misalnya:
kelas hewan {voidcry(){}} kelas anjing memperluas hewan {voidcry(){System.out.println(wangwang);}} kelas kucing memperluas hewan {voidcry(){System.out.println(miaomiao);}} publicclassMain {publicstaticvoidmain(Stringargs[]){animal;animal=anjing baru();animal.cry();animal=kucing baru();animal.cry();}}
Hasil yang berjalan adalah sebagai berikut:
wangwangmiaomiao