Mencipta Kejadian Secara Dinamik dalam Java
Menginstanti kelas mengikut nama ialah senario yang sering ditemui dalam pengaturcaraan. Java menyediakan pelbagai cara untuk mencapai ini.
Kaedah 1: Untuk Kelas dengan Pembina Tanpa Arg
Untuk kelas tanpa pembina tanpa hujah (no-arg), Kaedah Class.forName() boleh digunakan. Ia mengembalikan objek Kelas dan kaedah newInstance() seterusnya mencipta tika kelas yang ditentukan.
Class<?> clazz = Class.forName("java.util.Date"); Object date = clazz.newInstance();
Kaedah 2: Pendekatan Lebih Serbaguna
Ini kaedah lebih disukai apabila kelas mungkin tidak mempunyai pembina no-arg. Ia melibatkan mendapatkan objek Pembina dan kemudian menggunakan kaedah newInstance()nya.
Class<?> clazz = Class.forName("com.foo.MyClass"); Constructor<?> constructor = clazz.getConstructor(String.class, Integer.class); Object instance = constructor.newInstance("stringparam", 42);
Pertimbangan
Kedua-dua kaedah menggunakan pantulan, yang boleh menyebabkan pengecualian jika:
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencipta Kejadian Java Secara Dinamik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!