Perkenalan
Pertama, izinkan saya memperkenalkan beberapa penjelasan yang kurang praktis: mekanisme refleksi Java adalah bahwa dalam keadaan berjalan, untuk kelas mana pun, Anda dapat mengetahui semua sifat dan metode kelas ini; Untuk objek apa pun, Anda dapat menghubungi metode dan sifat apa pun; Fungsi ini memperoleh informasi secara dinamis dan metode objek panggilan dinamis disebut mekanisme refleksi bahasa Java.
Penggunaan sederhana
Refleksi adalah cara yang sangat umum dan mudah digunakan dalam Java (tetapi Anda perlu tahu bahwa efisiensinya relatif rendah, jadi Anda harus menggunakannya dengan hati-hati) tentu saja, itu juga dapat digunakan dalam Android berdasarkan bahasa Java. Kita dapat menggunakan refleksi untuk mendapatkan beberapa kelas yang tidak terbuka tetapi eksistensial, untuk memanggil beberapa metodenya. Mari kita tuliskan secara singkat di bawah ini, menggunakan refleksi Java untuk mendapatkan kelas dan implementasi metode yang menyebutnya.
// Jalur kelas yang perlu disebut cermin string className = "com.example.test.javareFlect"; class cermin = null; coba {// dapatkan kelas java reflect = class.forname (className); // instantiate objek kelas yang sesuai javareFlect = reflect.newInstance (); if (null! = javareFlect) {// Cermin metode stringToup () di kelas kelas stringtoup adalah nama metode, dan string.class adalah metode parameter tipe stringtoup = clect.getDecLaredMethod ("stringToup", string.class); // Batalkan pemeriksaan legalitas untuk mengakses metode pribadi StringToup.setAccessible (true); // Hitung metode stringToup (), parameter pertama mewakili kelas yang sesuai, dan yang kedua adalah parameter dari metode string string = (string) stringToup.invoke (javareFlect, "test java reflect"); System.out.println ("Hasil:"+str); }} catch (Exception e) {e.printstacktrace ();} Mari kita lihat apa yang saya lakukan di StringToup:
public string stringtoup (string str) {return str.touppercase ();}Bahkan, itu hanya string untuk mengubahnya menjadi modal, dan kemudian mengembalikannya. Oke, mari kita lihat hasil output:
01-02 08: 09: 11.959 6150-6150/com.zxf.alpha I/System.out: Hasil: Tes Refleksi Java
Itu sempurna.
Meringkaskan
Oke, di atas adalah semua tentang artikel ini. Refleksi memiliki banyak aplikasi di Android. Misalnya, ketika proyek kami memiliki banyak modul, Anda dapat melakukan ini jika Anda ingin memanggil metode program utama dalam modul, atau Anda dapat menggunakan refleksi untuk memanggil beberapa metode publik-publik, tetapi efisiensinya tidak terlalu tinggi. Saya berharap konten artikel ini akan membantu semua orang untuk belajar atau menggunakan radiasi di Java. Jika Anda memiliki pertanyaan, Anda dapat meninggalkan pesan untuk berkomunikasi.