java中應用反射挪用另外一類的private辦法的簡略實例。本站提示廣大學習愛好者:(java中應用反射挪用另外一類的private辦法的簡略實例)文章只能為提供參考,不一定能成為您想要的結果。以下是java中應用反射挪用另外一類的private辦法的簡略實例正文
我們曉得,Java運用法式不克不及拜訪耐久化類的private辦法,但Hibernate沒有這個限制,它可以或許拜訪各類級其余辦法,如private, default, protected, public. Hibernate是若何完成該功效的呢?謎底是應用JAVA的反射機制,以下:
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(new PackageClazz(), "452345234","q31234132"); } } class PackageClazz { private void privilegedMethod(String invokerName,String adb) { System.out.println("---"+invokerName+"----"+adb); } }
輸入成果為:---452345234----q31234132
我們看到,應用java的反射機制,即便是private辦法,也能夠被挪用應用.不外我到發生一個疑問--即然private辦法都可以被挪用,那末封裝又有何意義?
以上這篇java中應用反射挪用另外一類的private辦法的簡略實例就是小編分享給年夜家的全體內容了,願望能給年夜家一個參考,也願望年夜家多多支撐。