Bayangkan saja, jika Anda dapat dengan mudah memanggil metode pribadi dari suatu kelas, maka itu berarti enkapsulasi Anda telah kedaluwarsa? Baru -baru ini, saya melihat mekanisme refleksi Java dan menemukan bahwa ia benar -benar dapat menggunakan mekanisme refleksi Java untuk memanggil metode pribadi kelas lain. Adapun apa yang bisa dilakukan, itu tergantung pada pendapat orang. .
Kode contoh sederhana yang saya tulis adalah sebagai berikut:
impor java.lang.reflect.invocationTargetException; impor java.lang.reflect.method;/** * @author thomaslwq * @Version waktu pembuatan: Sep 4, 2012 9:53:49 PM * Deskripsi Kelas Object) Nosuchmethodexception, ilegalargumentException, ilegalacces *** ception, InvocateTargetException {class cls = obj.getClass (); // Dapatkan metode pribadi metode metode kelas = cls.getDeclaredMethod ("privateMethod", null); method.setAccessible (true); // Kesalahan akan dilaporkan tanpa pengaturan // Panggil metode ini. } public static void main (string args []) melempar SecurityException, IllegalArgumentException, NosuchMethodeException, ilegalacces *** ception, InvocateTargetException {setObjectColor (mytest baru ()); }} // test class mytest {public void setMyTest () {System.out.println ("setMyTest"); } / ** Metode pribadi kelas ** / private void privateMethod () {System.out.println ("Metode Privat"); }}Metode pribadi di atas (disarankan) yang menggunakan mekanisme refleksi Java untuk memanggil kelas adalah semua konten yang saya bagikan dengan Anda. Saya harap Anda dapat memberi Anda referensi dan saya harap Anda dapat mendukung wulin.com lebih lanjut.