Kita tahu bahwa aplikasi Java tidak dapat mengakses metode pribadi dari kelas yang persisten, tetapi Hibernate tidak memiliki batasan ini. Ini dapat mengakses berbagai tingkat metode, seperti pribadi, default, terlindungi, publik. Bagaimana Hibernate menerapkan fungsi ini? Jawabannya adalah menggunakan mekanisme refleksi Java, sebagai berikut:
import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;public class ReflectDemo {public static void main(String[] args) throws Exception {Method method = PackageClazz.class.getDeclaredMethod("privilegedMethod", new Class[]{String.class,String.class}); method.setAccessible (true); method.invoke (packageClazz baru (), "452345234", "Q31234132");}} class packageClazz {private void privilegedMethod (String Invokername, String adb) {System.out.println ("---"+Invokername+"-B)Hasil output adalah: --- 452345234 --- Q31234132
Kita melihat bahwa menggunakan mekanisme refleksi Java, bahkan metode pribadi dapat dipanggil dan digunakan. Namun, saya punya pertanyaan - bahkan jika metode pribadi dapat dipanggil, apa gunanya enkapsulasi?
Contoh sederhana di atas menggunakan refleksi untuk memanggil jenis metode pribadi lain di Java 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.