Rumah >Java >javaTutorial >Bagaimanakah Operator `instanceof` Java Berfungsi untuk Pemeriksaan Kelas dan Antara Muka?
Apakah Operator 'instanceof' Digunakan Untuk Java?
Operator Java instanceof menyemak sama ada objek tergolong dalam kelas tertentu atau melaksanakan antara muka tertentu. Ia ialah pengendali binari yang mengembalikan nilai boolean: benar jika objek ialah tika jenis yang ditentukan dan palsu sebaliknya.
Memahami Gelagat instanceof
Pertimbangkan coretan kod berikut:
Object source = new Button(); if (source instanceof Button) { // ... } else { // ... }
Dalam contoh ini, pembolehubah sumber memegang objek yang dicipta menggunakan kelas Button. Operator instanceof digunakan untuk menyemak sama ada sumber sebenarnya objek Button. Jika semakan kembali benar (kerana sumber ialah Butang), kod di dalam blok if akan dilaksanakan. Jika tidak (jika sumber bukan Butang), kod dalam blok else akan dilaksanakan.
Warisan dan instanceof
Operator instanceof mempertimbangkan perhubungan warisan. Katakan kita mempunyai hierarki kelas berikut:
interface Domestic {} class Animal {} class Dog extends Animal implements Domestic {}
Jika kita mempunyai anjing objek Anjing, kita boleh menggunakan instanceof untuk menyemak sama ada ia tergolong dalam jenis yang berbeza:
dog instanceof Domestic // true dog instanceof Animal // true dog instanceof Dog // true
Walau bagaimanapun, instanceof tidak boleh menyemak sama ada objek ialah contoh supertype yang tidak berada dalam hierarki warisan yang sama. Sebagai contoh, semakan berikut tidak akan disusun:
dog instanceof Cat // does not compile
Semakan Jenis Masa Jalan
instanceof ialah operasi masa jalan, yang bermaksud ia dilakukan semasa pelaksanaan program. Ini membolehkan pengaturcara menentukan jenis objek dan mengendalikannya dengan sewajarnya. Ia biasanya digunakan dalam situasi di mana jenis objek tidak diketahui pada masa penyusunan.
Atas ialah kandungan terperinci Bagaimanakah Operator `instanceof` Java Berfungsi untuk Pemeriksaan Kelas dan Antara Muka?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!