Walaupun memahami keadaan yang sesuai untuk tuangan, selok-belok pengendaliannya tetap sukar difahami. Perbincangan ini menumpukan pada merapatkan jurang pengetahuan ini, terutamanya mengenai objek casting.
Objek Casting: Membongkar Proses
Menghantar objek jenis Object to MyType tidak secara ajaib memberikan dengan kaedah kelas itu. Sebaliknya, ia menyampaikan kepada pengkompil bahawa Objek itu benar-benar daripada jenis MyType yang lebih khusus. Pada asasnya, pengaturcara menegaskan, "Saya yakin Objek ini ialah contoh MyType, membenarkan saya mengakses kaedah khususnya."
Pemutus Selamat: Memastikan Keserasian
Penghantaran dibenarkan apabila jenis sasaran ialah subjenis jenis sumber. Contohnya, menghantar Object o ("str") ke String str adalah sah kerana String mewarisi daripada Object.
Penghantaran Tidak Sah: Mengelakkan Ralat Masa Jalan
Sebaliknya, menghantar antara hierarki yang berbeza (cth., String to Integer) akan mengakibatkan ralat masa kompilasi. Dalam hierarki yang sama, menghantar kepada subjenis yang tidak serasi (cth., Nombor n = (Double)o) mencetuskan ClassCastException pada masa jalan, menunjukkan pelanggaran jenis yang diisytiharkan.
Senario Praktikal: Memanfaatkan Casting
Penghantaran menemui aplikasinya dalam peralihan daripada jenis generik kepada jenis tertentu. Walaupun ia pernah berleluasa dalam koleksi pra-Java-5, kemunculan generik telah mengurangkan penggunaannya dengan ketara. Generik menyediakan alternatif yang lebih selamat, menghapuskan risiko ClassCastExceptions apabila dilaksanakan dengan betul.
Atas ialah kandungan terperinci Java Casting: Bagaimana Object Casting Benar-benar Berfungsi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!