Selasa, 18 Maret 2014

             Di kesempatan kali ini saya ingin memberikan sedikit pengetahuan tentang penggunaan instanceof pada bahasa pemrograman JAVA. Sebelumnya sudah pernah belajar tentang Casting variabel pada JAVA bukan? sekarang kita akan memasuki sebuah masalah dalam beberapa blok program berikut:


public class Testinstanceof{
public static void main(String[]args){

Object siswa = new Student(); //implicit casting
//kemudian kita ingin memasukkan objek baru yang sama dengan class siswa contoh:

Student murid = siswa;

/*akan ada Compile error. pertanyaannya kenapa Object siswa = new Student bisa berjalan sedangkan Student murid = siswa  tidak ? itu karena objek Student adalah contoh dari objek tapi Objek bukan contoh dari student meskipun kita melihat bahwa murid adalah Objek Student, Compiler tidak terlalu pintar untuk mengetahui kalau murid adalah objek maka yang diperlukan sekarang adalah explicit Casting Contoh: */

Student murid = (Student)siswa;
}
}

kita bisa meng-cast contoh/instanceof dari sebuah subclass (kelas anak) atau dikenal dengan upcasting ke variabel Superclass(kelas induk), karena contoh/instanceof dari subclass selalu contoh dari kelas induknya. Ketika meng-cast/merubah contoh dari superclass ke variabel subclassnya (dikenal dengan downcasting), explicit casting harus digunakan untuk mengkonfirmasi maksud kita kepada kompiler dengan nama subclass (dengan notasi casting). agar casting bisa berhasil kita harus meyakinkan kompiler bahwa object yang di cast adalah contoh/instanceof subclass. kalau superclass bukan contoh dari subclass, runtime ClassCastException akan terjadi contohnya, kalau objek bukan contoh.instanceof Student (program yang tadi) maka si objek tadi tidak bisa di casting ke variabel student. sebuah praktek yang baik untuk meyakinkan sebuah variable adalah contoh/instanceof dari objek yang lain kita menggunakan instanceof operator. Perhatikan blok kode berikut:

...
Object siswa = new Student;
if (siswa instanceof Student){
System.out.println("Nama Siswa Adalah: " + siswa.getNama());
}
...

dari sini kita bisa tahu apakah variabel siswa adalah contoh/instanceof Student atau tidak. Dan dari sini juga semoga para pembaca bisa mengerti dan menyimpulkan apa fungsi dari instanceof pada bahasa pemrograman JAVA.

1 komentar :

  1. Titanium Spork - The Most Reliable and Most Effective Poker Chips
    The 1xbet 먹튀 Spades. ceramic vs titanium flat iron The spades is one solo titanium razor of the most popular poker chips. They are designed in high-end nano titanium babyliss pro and high-end states with high-performance man titanium bracelet technology.

    BalasHapus