91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 9KB
    文件類型: .rar
    金幣: 2
    下載: 1 次
    發(fā)布日期: 2021-06-24
  • 語言: Java
  • 標簽:

資源簡介

Java提供了一套機制來動態(tài)執(zhí)行方法和構(gòu)造方法,以及數(shù)組操作等,這套機制就叫——反射。反射機制是如今很多流行框架的實現(xiàn)基礎(chǔ),其中包括Spring、Hibernate等。原理性的問題不是本文的重點,接下來讓我們在實例中學(xué)習(xí)這套精彩的機制。 1. 得到某個對象的屬性 public Object getProperty(Object owner, String fieldName) throws Exception { Class ownerClass = owner.getClass(); Field field = ownerClass.getField(fieldName); Object property = field.get(owner); return property; } Class ownerClass = owner.getClass():得到該對象的Class。 Field field = ownerClass.getField(fieldName):通過Class得到類聲明的屬性。 Object property = field.get(owner):通過對象得到該屬性的實例,如果這個屬性是非公有的,這里會報IllegalAccessException。 2. 得到某個類的靜態(tài)屬性 public Object getStaticProperty(String className, String fieldName) throws Exception { Class ownerClass = Class.forName(className); Field field = ownerClass.getField(fieldName); Object property = field.get(ownerClass); return property; } Class ownerClass = Class.forName(className) :首先得到這個類的Class。 Field field = ownerCla

資源截圖

代碼片段和文件信息

package?com.hexiang.reflection;

import?java.lang.reflect.Array;????????
import?java.lang.reflect.Constructor;????????
import?java.lang.reflect.Field;????????
import?java.lang.reflect.Method;????????
???????
???????
/**??????
?*?Java?Reflection?Cookbook??????
?*??????
?*?@author?Michael?Lee??????
?*?@since?2006-8-23??????
?*?@version?0.1a??????
?*/???????
???????
public?class?Reflection?{????????
????/**??????
?????*?得到某個對象的公共屬性??????
?????*??????
?????*?@param?owner?fieldName??????
?????*?@return?該屬性對象??????
?????*?@throws?Exception??????
?????*??????
?????*/???????
????public?object?getProperty(object?owner?String?fieldName)?throws?Exception?{????????
????????Classject>?ownerClass?=?owner.getClass();????????
???????
????????Field?field?=?ownerClass.getField(fieldName);????????
???????
????????object?property?=?field.get(owner);????????
???????
????????return?property;????????
????}????????
???????
????/**??????
?????*?得到某類的靜態(tài)公共屬性??????
?????*??????
?????*?@param?className???類名??????
?????*?@param?fieldName???屬性名??????
?????*?@return?該屬性對象??????
?????*?@throws?Exception??????
?????*/???????
????public?object?getStaticProperty(String?className?String?fieldName)????????
????????????throws?Exception?{????????
????????Class?ownerClass?=?Class.forName(className);????????
???????
????????Field?field?=?ownerClass.getField(fieldName);????????
???????
????????object?property?=?field.get(ownerClass);????????
???????
????????return?property;????????
????}????????
???????
???????
????/**??????
?????*?執(zhí)行某對象方法??????
?????*??????
?????*?@param?owner??????
?????*????????????對象??????
?????*?@param?methodName??????
?????*????????????方法名??????
?????*?@param?args??????
?????*????????????參數(shù)??????
?????*?@return?方法返回值??????
?????*?@throws?Exception??????
?????*/???????
????@SuppressWarnings(“unchecked“)
public?object?invokeMethod(object?owner?String?methodName?object[]?args)????????
????????????throws?Exception?{????????
???????
????????Classject>?ownerClass?=?owner.getClass();????????
???????
????????Class[]?argsClass?=?new?Class[args.length];????????
???????
????????for?(int?i?=?0?j?=?args.length;?i?????????????argsClass[i]?=?args[i].getClass();????????
????????}????????
???????
????????Method?method?=?ownerClass.getMethod(methodName?argsClass);????????
???????
????????return?method.invoke(owner?args);????????
????}????????
???????
???????
??????/**??????
?????*?執(zhí)行某類的靜態(tài)方法??????
?????*??????
?????*?@param?className??????
?????*????????????類名??????
?????*?@param?methodName??????
?????*????????????方法名??????
?????*?@param?args??????
?????*????????????參數(shù)數(shù)組??????
?????*?@return?執(zhí)行方法返回的結(jié)果??????
?????*?@throws?Exception??????
?????*/???????
????@SuppressWarnings(“unchecked“)
public?object?invokeStaticMethod(String?className?String?methodName????????
????????????object[]?args)?throws?Exception?{????????
????????Clas

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件??????65536??2010-01-07?09:13??Java?反射(Reflection)?經(jīng)典實用例子\Java?反射(Reflection)?經(jīng)典實用例子.doc

?????文件???????5054??2010-01-07?09:12??Java?反射(Reflection)?經(jīng)典實用例子\Reflection.java

?????目錄??????????0??2010-01-07?09:14??Java?反射(Reflection)?經(jīng)典實用例子

-----------?---------??----------?-----??----

????????????????70590????????????????????3


評論

共有 條評論

相關(guān)資源