Rumah >Java >javaTutorial >Bagaimanakah Saya Boleh Mencipta Kejadian Java Secara Dinamik?

Bagaimanakah Saya Boleh Mencipta Kejadian Java Secara Dinamik?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-25 13:24:15591semak imbas

How Can I Create Java Instances Dynamically?

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:

  • JVM gagal mencari atau memuatkan yang ditentukan kelas.
  • Kelas tidak mempunyai pembina yang sesuai.
  • Pembina membuang pengecualian.
  • Pembina tidak diisytiharkan awam.
  • Pengurus keselamatan mengehadkan refleksi .

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn