Rumah > Java > javaTutorial > Apakah mekanisme refleksi Java dan cara mendapatkannya

Apakah mekanisme refleksi Java dan cara mendapatkannya

王林
Lepaskan: 2023-05-10 19:07:04
ke hadapan
1690 orang telah melayarinya

Mekanisme pantulan Java

Mekanisme pantulan Java berada dalam keadaan berjalan Untuk mana-mana kelas, semua sifat dan kaedah kelas ini boleh diperolehi, dan untuk mana-mana objek, mana-mana sifat dan kaedahnya boleh dipanggil. kaedah. Fungsi mendapatkan maklumat secara dinamik dan memanggil kaedah objek secara dinamik pada masa jalan dipanggil mekanisme refleksi Java. Kelas

Kelas menyokong konsep refleksi bersama-sama dengan perpustakaan kelas java.lang.reflect, yang mengandungi kelas Field, Method dan Constructor (setiap kelas melaksanakan antara muka Ahli). Objek jenis ini dicipta oleh JVM pada masa jalan untuk mewakili ahli kelas yang tidak diketahui yang sepadan. Dengan cara ini anda boleh menggunakan Pembina untuk mencipta objek baharu, menggunakan kaedah get() dan set() untuk membaca dan mengubah suai medan yang dikaitkan dengan objek Medan dan menggunakan kaedah invoke() untuk memanggil kaedah yang dikaitkan dengan objek Kaedah.

Selain itu, anda juga boleh memanggil kaedah yang mudah seperti getFields() getMethods() dan getConstructors() untuk mengembalikan tatasusunan objek yang mewakili medan, kaedah dan pembina. Dengan cara ini, maklumat objek tanpa nama
boleh ditentukan sepenuhnya pada masa jalan, tanpa mengetahui apa-apa pada masa penyusunan.

package com.microSpringboot.ReadingList.reflect;

import java.lang.reflect.Constructor;

public class ReflectTest {

    public static void main(String[] args) throws Exception {
        Class clazz = null;
        clazz = Class.forName("com.microSpringboot.ReadingList.reflect.Fruit");
        Constructor<Fruit> constructor1 = clazz.getConstructor();
        Constructor<Fruit> constructor2 = clazz.getConstructor(String.class);
        Fruit fruit1 = constructor1.newInstance();
        Fruit fruit2 = constructor2.newInstance("Apple");
    }
}


class Fruit {

    public Fruit() {
        System.out.println("无参构造器 Run...........");
    }

    public Fruit(String type) {
        System.out.println("有参构造器 Run..........." + type);
    }
}
Salin selepas log masuk
rrree

Tiga cara untuk mendapatkan refleksi dalam Java

1 Melaksanakan mekanisme pantulan melalui objek baharu

2. Laksanakan mekanisme pantulan melalui laluan

3 . Nama kelas melaksanakan mekanisme refleksi

运行结果: 无参构造器 Run……….. 有参构造器 Run………..Apple
Salin selepas log masuk
rrree

Atas ialah kandungan terperinci Apakah mekanisme refleksi Java dan cara mendapatkannya. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan