"Hello, Amigo! Anda telah pun bertemu dengan pengendali instanceof . Hari ini saya akan memberitahu anda bagaimana dan di mana ia boleh digunakan. instanceof ialah pengendali yang sangat mudah dan cekap."
"Itu bunyi seperti iklan!"
"Ia benar-benar sangat mudah. Ia digunakan seperti ini: «objek» instanceof «class» ."
Ia menyemak sama ada objek adalah contoh kelas tertentu. Ia lebih mudah daripada menerangkannya. Lihat contoh ini:
Kod | Penerangan |
---|---|
|
isInt akan menjadi benar . Objek yang dirujuk oleh pembolehubah o ialah contoh kelas Integer . |
|
isInt akan menjadi palsu . Objek yang dirujuk oleh pembolehubah o bukan contoh kelas Integer . Ia adalah objek String . |
|
isFIS akan menjadi benar . Objek yang dirujuk oleh pembolehubah o ialah contoh kelas FileInputStream . |
"Ya, itu sangat mudah."
"Pengendali ini juga mengambil kira warisan. Semak ia."
Kod | Penerangan |
---|---|
|
Di sini kita mempunyai tiga pengisytiharan kelas: Haiwan, Kucing dan Harimau. Kucing mewarisi Haiwan. Dan Harimau mewarisi Kucing. |
|
isCat akan menjadi benar . isTiger akan menjadi benar . isAnimal akan menjadi benar . |
|
isCat akan menjadi palsu . isTiger akan menjadi palsu . isAnimal akan menjadi benar . |
Dan juga antara muka:
Kod | Penerangan |
---|---|
|
Buat dua kelas: Cat, TomCat dan antara muka Boleh Alih |
|
isCat akan menjadi benar . isMoveable akan menjadi benar . isTom akan menjadi benar . |
|
isCat akan menjadi benar . isMoveable akan menjadi palsu . isTom akan menjadi palsu . |
Operator instanceof kelihatan seperti ini: a instanceof B .
Dengan kata lain, pengendali instanceof akan kembali benar jika:
1) pembolehubah a menyimpan rujukan kepada objek jenis B
2) pembolehubah a menyimpan rujukan kepada objek yang kelasnya mewarisi B
3) pembolehubah a menyimpan rujukan kepada objek yang melaksanakan antara muka B
Jika tidak, pengendali instanceof akan mengembalikan false .
"Faham. Jadi kenapa ini perlu, Uncle Rishi?"
"Ellie akan memberitahu anda tentang perkara itu hari ini. Ini adalah pengendali yang sangat baik. Anda akan yakin hari ini."
GO TO FULL VERSION