六月丁香五月婷婷,丁香五月婷婷网,欧美激情网站,日本护士xxxx,禁止18岁天天操夜夜操,18岁禁止1000免费,国产福利无码一区色费

學習啦>知識大全>方法百科>產(chǎn)品使用方法>

java 反射調(diào)用set方法

時間: 陳哲凡673 分享

  Java語言中的許多庫類名稱,多與咖啡有關(guān)。下面是學習啦小編為您帶來的java 反射調(diào)用set方法,希望對大家有所幫助。

  java 反射調(diào)用set方法:

  import java.beans.PropertyDescriptor;

  import java.lang.reflect.Field;

  import java.lang.reflect.Method;

  public class ReflectTest {

  public static void main(String[] args) throws Exception {

  Class clazz = Class.forName("TaskProvidePropsList");//這里的類名是全名。。有包的話要加上包名

  Object obj = clazz.newInstance();

  Field[] fields = clazz.getDeclaredFields();

  //寫數(shù)據(jù)

  for(Field f : fields) {

  PropertyDescriptor pd = new PropertyDescriptor(f.getName(), clazz);

  Method wM = pd.getWriteMethod();//獲得寫方法

  wM.invoke(obj, 2);//因為知道是int類型的屬性,所以傳個int過去就是了。。實際情況中需要判斷下他的參數(shù)類型

  }

  //讀數(shù)據(jù)

  for(Field f : fields) {

  PropertyDescriptor pd = new PropertyDescriptor(f.getName(), clazz);

  Method rM = pd.getReadMethod();//獲得讀方法

  Integer num = (Integer) rM.invoke(obj);//因為知道是int類型的屬性,所以轉(zhuǎn)換成integer就是了。。也可以不轉(zhuǎn)換直接打印

  System.out.println(num);

  }

  }

  }

  Java相關(guān)知識點拓展:

  JAVA反射機制是在運行狀態(tài)中,對于任意一個類,都能夠知道這個類的所有屬性和方法;對于任意一個對象,都能夠調(diào)用它的任意一個方法和屬性;這種動態(tài)獲取的信息以及動態(tài)調(diào)用對象的方法的功能稱為java語言的反射機制。

  JAVA反射(放射)機制:“程序運行時,允許改變程序結(jié)構(gòu)或變量類型,這種語言稱為動態(tài)語言”。從這個觀點看,Perl,Python,Ruby是動態(tài)語言,C++,Java,C#不是動態(tài)語言。但是JAVA有著一個非常突出的動態(tài)相關(guān)機制:Reflection,用在Java身上指的是我們可以于運行時加載、探知、使用編譯期間完全未知的classes。換句話說,Java程序可以加載一個運行時才得知名稱的class,獲悉其完整構(gòu)造(但不包括methods定義),并生成其對象實體、或?qū)ζ鋐ields設(shè)值、或喚起其methods。

551702