Dalam senario tertentu, anda mungkin memerlukan keupayaan untuk mencipta contoh kelas tertentu secara dinamik, walaupun apabila nama kelas tidak diketahui sehingga masa jalan. Ini membolehkan lebih fleksibiliti dan membolehkan senario di mana kelas dimuatkan secara dinamik.
Untuk mencapai matlamat ini, anda boleh menggunakan keupayaan refleksi yang disediakan oleh Java. Begini cara anda boleh mencipta tika menggunakan nama kelas dan memberikan argumen kepada pembinanya:
String className = "mypackage.MyClass"; Class<?> clazz = Class.forName(className); Constructor<?> ctor = clazz.getConstructor(String.class); Object object = ctor.newInstance(new Object[] { "MyAttributeValue" });
Dalam kod ini, kaedah Class.forName digunakan untuk mendapatkan objek Kelas untuk nama kelas yang ditentukan. Kaedah getConstructor mendapatkan semula pembina yang menerima jenis parameter yang ditentukan. Akhir sekali, newInstance digunakan untuk mencipta tika kelas, menghantar argumen yang disediakan kepada pembina.
Perhatikan bahawa pendekatan ini memerlukan anda memberikan nama kelas yang layak sepenuhnya, termasuk sebarang maklumat pakej atau ruang nama. Kelas bersarang boleh diakses menggunakan tanda dolar ("$"), seperti yang ditunjukkan dalam contoh yang disediakan dalam soalan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menghidupkan Kelas Java Secara Dinamik Menggunakan Refleksi dan Argumen Pembina?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!