InstanceOf Dalam adalah operator, yang digunakan untuk memeriksa jenis objek. Dengan istilah lain, ia menguji sama ada objek itu adalah contoh kelas tertentu atau antara muka. Hasil operasi sedemikian adalah sama ada Betul atau Salah
Petunjuk berikut akan dibahas dalam artikel ini,
- contohOf
- Menggunakan Pembolehubah dengan Nilai Null
- Objek ibu bapa bukan contoh anak
- Menurunkan siaran
- Memahami instanceOf
Melanjutkan dengan artikel ini di instanceOf di Java.
Pengendali ini juga dikenali sebagai jenis pengendali perbandingan , kerana contohnya dibandingkan dengan jenisnya.
Sintaks:
(objek) instanceof (jenis)
Contoh operator instanceOf dapat dilihat di bawah:
kelas awam Utama {public static void main (String [] args) {Main s = new Main () System.out.println (contoh of Main)}}
Pengeluaran
benar
Contohnya, output yang dikembalikan kepada pengguna adalah benar , iaitu ' s 'Adalah contoh kelas Utama.
Contohnya
Objek jenis subkelas juga merupakan jenis kelas induk.
Dalam contoh berikut, Rock memperluas Muzik. Objek Rock boleh dirujuk sama ada oleh kelas Rock atau Muzik.
class Music {} class Rock memperluas Muzik {// Rock mewarisi Muzik awam statik kekosongan utama (String args []) {Rock r = new Rock () System.out.println (r instanceof Rock)}}
Pengeluaran
benar
struktur data dan algoritma dalam java
Melanjutkan dengan artikel ini di JavaOf.
Menggunakan pemboleh ubah dengan nilai null
kelas Muzik {public static void main (String args []) {Music m = null System.out.println (m instanceof Music) // false}}
Dalam contoh yang diberikan di atas, pemboleh ubah yang ditentukan mempunyai nilai nol.
Oleh itu, output yang dikembalikan adalah palsu.
Pengeluaran
salah
Perkara berikut mesti diberi perhatian semasa menggunakan operator instanceOf:
Melanjutkan dengan artikel ini di JavaOf.
Objek ibu bapa bukan contoh Anak
class Parent {} class Child meluaskan Parent {} class Main {public static void main (String [] args) {Parent p = new Parent () if (p instanceof Child) System.out.println ('p adalah kejadian Anak ') else System.out.println (' p bukan contoh Child ')}}
Pengeluaran
P bukan contoh Anak
Melanjutkan dengan artikel ini di JavaOf.
Downc asting
Apabila objek kelas Induk disebut oleh Subkelas, kaedah ini dikenali sebagai downcasting.
Semasa melakukan penyiaran secara langsung, penyusun mengembalikan ralat penyusunan.
Rock r = ralat kompilasi Muzik baru () //
Semasa menggunakan typecasting, ClassCastException dilemparkan pada waktu runtime.
Rock r = (Rock) Muzik baru () // kompilasi berjaya tetapi ClassCastException dilemparkan
Satu-satunya kaedah yang memungkinkan penyiaran adalah dengan menggunakan operator operator.
class Music {} class Rock memperluas Muzik {kaedah statik kekosongan (Muzik m) {if (m instanceof Rock) {Rock r = (Rock) m // downcasting System.out.println ('Downcasting Successful')}} kekosongan statik awam main (String [] args) {Muzik m = Rock baru () Rock.method (m)}}
Pengeluaran
Penyiaran Berjaya Berjaya
Melanjutkan dengan artikel ini di instanceOf di Java.
Memahami contoh:
Kaedah instanceOf dapat difahami secara lebih jelas dengan contoh yang diberikan di bawah:
Contoh ini menggunakan penggunaan antara muka:
antara muka Instance {} class S melaksanakan Instance {public void s () {System.out.println ('First method')}} class T melaksanakan Instance {public void t () {System.out.println ('Kaedah kedua') }} class Invoke {void invoke (Instance i) {// upcasting if (i instanceof S) {S s = (S) i // Downcasting ss ()} if (i instanceof T) {T t = (T) i // Downcasting tt ()}}} kelas Utama {public static void main (String args []) {Instance i = new T () Invoke v = new Invoke () v.invoke (i)}}
Keluaran contohnya adalah seperti berikut:
Kaedah Kedua
Contoh ini menunjukkan konsep ini dengan tepat. Di sini, kelas induk adalah Instrument, dan dua kelas anak adalah Guitar dan Piano:
instrumen kelas {} kelas Gitar memperluas Instrumen {} kelas Piano memperluas Instrumen {} kelas Utama {umum statik kekosongan utama (String [] args) {Instrumen i = instrumen baru () Gitar g = gitar baru () Piano p = piano baru ( System.out.println (g instanceof Instrument) System.out.println (p instanceof Instrument) System.out.println (i instanceof Guitar) System.out.println (i instanceof Piano) i = g System.out.println ( i instanceof Guitar) System.out.println (i instanceof Piano) i = p System.out.println (i instanceof Guitar) System.out.println (i instanceof Piano)}}
Keluarannya adalah seperti berikut:
benar
benar
salah
salah
benar
salah
salah
benar
Ini adalah bagaimana jenis objek dijumpai dengan cekap. Operator instanceOf terbukti sangat berguna, memandangkan kaedahnya dijalankan dengan tepat.
Oleh itu, kita telah mengakhiri artikel ini mengenai 'instanceOf in Java'. Sekiranya anda ingin mempelajari lebih lanjut, lihat Java Training oleh Edureka, sebuah syarikat pembelajaran dalam talian yang dipercayai. dirancang untuk melatih anda untuk konsep Java teras dan maju bersama dengan pelbagai kerangka kerja Java seperti Hibernate & Spring.
Ada soalan untuk kami? Sila sebutkan di bahagian komen blog ini dan kami akan menghubungi anda secepat mungkin.