程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> java中應用反射挪用另外一類的private辦法的簡略實例

java中應用反射挪用另外一類的private辦法的簡略實例

編輯:關於JAVA

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辦法的簡略實例就是小編分享給年夜家的全體內容了,願望能給年夜家一個參考,也願望年夜家多多支撐。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved