Operator 'instanceof': Demystifying Object Typing in Java
Dalam bidang pengaturcaraan Java, operator 'instanceof' memegang peranan penting peranan dalam membezakan sifat sebenar objek. Ia membolehkan pembangun menentukan secara dinamik sama ada objek tergolong dalam kelas atau antara muka tertentu.
Tujuan 'instanceof'
Operator 'instanceof' ialah operator binari yang menilai sama ada objek ialah tika jenis tertentu. Ia mengembalikan nilai boolean, 'true' jika objek ialah subjenis jenis atau melaksanakan antara muka dan 'false' sebaliknya.
Memahami Penggunaannya
Pertimbangkan coretan kod Java berikut:
if (source instanceof Button) { //... } else { //... }
Dalam contoh ini, operator 'instanceof' digunakan untuk mengesahkan sama ada objek 'sumber' ialah contoh kelas 'Butang'. Jika 'sumber' sememangnya contoh 'Butang', kod dalam blok pertama akan dilaksanakan; jika tidak, kod dalam blok kedua akan dicetuskan.
Menavigasi Jenis Perhubungan
Pengendali 'instanceof' beroperasi dengan lancar dengan warisan dan antara muka. Pertimbangkan hierarki kelas berikut:
interface Domestic {} class Animal {} class Dog extends Animal implements Domestic {} class Cat extends Animal implements Domestic {}
Memandangkan objek 'anjing' jenis 'Anjing', ungkapan berikut berlaku:
dog instanceof Domestic // true dog instanceof Animal // true dog instanceof Dog // true dog instanceof Object // true
Walau bagaimanapun, untuk objek 'haiwan' daripada jenis 'Animal', ungkapan 'animal instanceof Dog' akan dinilai kepada 'false' kerana 'Animal' bukanlah subjenis 'Anjing'.
Aplikasi Runtime
Pengendali 'instanceof' amat berfaedah apabila berurusan dengan objek jenis yang tidak diketahui atau dinamik pada masa jalan. Ia memberi kuasa kepada pembangun untuk mengendalikan objek dengan sewajarnya berdasarkan jenis khusus mereka. Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa 'instanceof' tidak menyokong nilai nol; sebarang ungkapan yang melibatkan objek nol akan menghasilkan 'palsu'.
Atas ialah kandungan terperinci Bagaimanakah Operator `instanceof` Java Menentukan Jenis Objek?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!