InstanceOf In adalah operator, yang digunakan untuk memeriksa jenis objek. Dengan istilah lain, ini menguji apakah objek tersebut adalah turunan dari kelas atau antarmuka tertentu. Output dari operasi semacam itu adalah baik Benar atau Salah
Petunjuk berikut akan dibahas dalam artikel ini,
- contoh
- Menggunakan Variabel dengan Nilai Null
- Objek Induk bukanlah turunan dari anak
- Downcasting
- Memahami instanceOf
Pindah dengan artikel ini di instanceOf di Java.
Operator ini juga dikenal sebagai tipe operator perbandingan , sebagai contoh dibandingkan dengan tipe.
Sintaksis:
(objek) instanceof (tipe)
Contoh operator instanceOf dapat dilihat di bawah ini:
kelas publik Utama {public static void main (String [] args) {Main s = new Main () System.out.println (s instance of Main)}}
Keluaran
benar
Dalam contoh, output yang dikembalikan ke pengguna adalah benar , yaitu “ s 'Adalah turunan dari kelas Utama.
Contoh
Objek berjenis subkelas juga merupakan jenis kelas induk.
Dalam contoh berikut, Rock memperluas Musik. Objek Rock dapat dirujuk oleh kelas Rock atau Musik.
class Musik {} class Rock extends Musik {// Rock mewarisi Musik public static void main (String args []) {Rock r = new Rock () System.out.println (r instance Rock)}}
Keluaran
benar
Pindah dengan artikel ini di instanceOf di Java.
Menggunakan variabel dengan nilai nol
kelas Musik {public static void main (String args []) {Music m = null System.out.println (m instanceof Music) // false}}
Dalam contoh yang diberikan di atas, variabel yang ditentukan memiliki nilai nol.
Jadi, keluaran yang dikembalikan salah.
Keluaran
Salah
Poin berikut harus diperhatikan saat menggunakan operator instanceOf:
Pindah dengan artikel ini di instanceOf di Java.
Objek induk bukanlah turunan dari Child
class Parent {} class Anak extends Parent {} class Main {public static void main (String [] args) {Parent p = new Parent () if (p instanceof Child) System.out.println ('p adalah turunan dari Child ') else System.out.println (' p bukan turunan dari Anak ')}}
Keluaran
P bukan turunan dari Child
Pindah dengan artikel ini di instanceOf di Java.
Downc asting
Ketika sebuah objek dari kelas Induk dirujuk oleh sebuah Subclass, metode ini dikenal sebagai downcasting.
Saat melakukan downcasting secara langsung, kompilator mengembalikan kesalahan kompilasi.
Rock r = new Music () // kesalahan kompilasi
Saat menggunakan typecasting, ClassCastException dilemparkan pada waktu proses.
Rock r = (Rock) new Music () // kompilasi berhasil tetapi ClassCastException terlempar
Satu-satunya metode yang memungkinkan downcasting adalah dengan menggunakan operator instanceof.
class Musik {} class Rock extends Musik {static void method (Music m) {if (m instanceof Rock) {Rock r = (Rock) m // downcasting System.out.println ('Downcasting Successful')}} public static void main (String [] args) {Music m = new Rock () Rock.method (m)}}
Keluaran
Downcasting Berhasil
Pindah dengan artikel ini di instanceOf di Java.
Memahami instanceOf:
Metode instanceOf dapat dipahami secara lebih eksplisit dengan contoh-contoh yang diberikan di bawah ini:
Contoh ini menggunakan antarmuka:
antarmuka Instance {} kelas S mengimplementasikan Instance {public void s () {System.out.println ('Metode pertama')}} kelas T mengimplementasikan Instance {public void t () {System.out.println ('Metode kedua') }} class Panggil {void invoke (Instance i) {// upcasting if (i instance of S) {S s = (S) i // Downcasting ss ()} if (i instance of 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)}}
Output dari contoh tersebut adalah sebagai berikut:
Metode Kedua
Contoh ini mendemonstrasikan konsep ini dengan tepat. Di sini, kelas induknya adalah Instrumen, dan dua kelas anak adalah Gitar dan Piano:
class Instrument {} class Guitar extends Instrument {} class Piano extends Instrument {} class Main {public static void main (String [] args) {Instrument i = new Instrument () Guitar g = new Guitar () Piano p = new Piano ( ) System.out.println (g instance Instrumen) System.out.println (p contoh Instrumen) System.out.println (saya contoh Gitar) System.out.println (saya contoh Piano) i = g System.out.println ( saya contoh Gitar) System.out.println (saya contoh Piano) i = p System.out.println (saya contoh Gitar) System.out.println (saya contoh Piano)}}
Outputnya adalah sebagai berikut:
benar
benar
Salah
Salah
benar
Salah
Salah
benar
Beginilah cara jenis objek ditemukan secara efisien. Operator instanceOf terbukti sangat berguna, mengingat metode dijalankan dengan tepat.
Jadi kami telah sampai pada akhir artikel ini tentang 'instanceOf in Java'. Jika Anda ingin mempelajari lebih lanjut, lihat Pelatihan Java oleh Edureka, perusahaan pembelajaran online tepercaya. dirancang untuk melatih Anda baik konsep inti dan lanjutan Java bersama dengan berbagai kerangka kerja Java seperti Hibernate & Spring.
java membuat berbagai objek
Ada pertanyaan untuk kami? Harap sebutkan di bagian komentar blog ini dan kami akan menghubungi Anda kembali secepatnya.