"Halo, Amigo! Anda telah bertemu dengan operator instanceof . Hari ini saya akan memberi tahu Anda bagaimana dan di mana ia dapat digunakan. instanceof adalah operator yang sangat sederhana dan efisien."
"Kedengarannya seperti iklan!"
"Ini sangat sederhana. Digunakan seperti ini: «object» instanceof «class» ."
Ini memeriksa apakah suatu objek adalah turunan dari kelas tertentu. Ini lebih mudah daripada menjelaskannya. Lihatlah contoh ini:
Kode | Keterangan |
---|---|
|
isInt akan benar . Objek yang direferensikan oleh variabel o adalah turunan dari kelas Integer . |
|
isInt akan salah . Objek yang direferensikan oleh variabel o bukanlah turunan dari kelas Integer . Ini adalah objek String . |
|
isFIS akan benar . Objek yang direferensikan oleh variabel o adalah turunan dari kelas FileInputStream . |
"Ya, itu sangat sederhana."
"Operator ini juga memperhitungkan warisan. Coba lihat."
Kode | Keterangan |
---|---|
|
Di sini kita memiliki tiga deklarasi kelas: Animal, Cat, dan Tiger. Kucing mewarisi Hewan. Dan Tiger mewarisi Cat. |
|
isCat akan benar . isTiger akan benar . isAnimal akan benar . |
|
isCat akan salah . isTiger akan salah . isAnimal akan benar . |
Dan bahkan antarmuka:
Kode | Keterangan |
---|---|
|
Buat dua kelas: Cat, TomCat, dan antarmuka Moveable |
|
isCat akan benar . isMoveable akan benar . isTom akan benar . |
|
isCat akan benar . isMoveable akan salah . isTom akan salah . |
Operator instanceof terlihat seperti ini: a instanceof B .
Dengan kata lain, operator instanceof akan mengembalikan true jika:
1) variabel a menyimpan referensi ke objek tipe B
2) variabel a menyimpan referensi ke objek yang kelasnya mewarisi B
3) variabel a menyimpan referensi ke objek yang mengimplementasikan antarmuka B
Jika tidak, operator instanceof akan mengembalikan false .
"Mengerti. Jadi mengapa ini perlu, Paman Rishi?"
"Ellie akan memberitahumu tentang itu hari ini. Ini adalah operator yang sangat baik. Kamu akan yakin akan hal itu hari ini."
GO TO FULL VERSION