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

Bagaimanakah Saya Boleh Mencipta Kejadian Java Secara Dinamik?

Mary-Kate Olsen
Lepaskan: 2024-11-25 13:24:15
asal
608 orang telah melayarinya

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();
Salin selepas log masuk

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);
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan