[Java基础]反射获取成员变量并使用
生活随笔
收集整理的這篇文章主要介紹了
[Java基础]反射获取成员变量并使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
代碼如下:
package ClassObjectPack;public class Student {private String name;int age;public String address;public Student(String name, int age, String address) {this.name = name;this.age = age;this.address = address;}public Student() {}private Student(String name) {this.name = name;}Student(String name, int age) {this.name = name;this.age = age;}private void function(){System.out.println("function");}public void method1(){System.out.println("method");}public void method2(String s){System.out.println("method:"+s);}public String method3(String s,int i){return s+","+i;}@Overridepublic String toString() {return "Student{" +"name='" + name + '\'' +", age=" + age +", address='" + address + '\'' +'}';} } package ClassObjectPack01;import java.lang.constant.DynamicCallSiteDesc; import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException;public class ReflectDemo03 {public static void main(String[] args) throws ClassNotFoundException, NoSuchMethodException, InvocationTargetException, InstantiationException, IllegalAccessException, NoSuchFieldException {Class<?> c = Class.forName("ClassObjectPack.Student");// Field getField(String name) // 返回一個 Field對象,它反映此表示的類或接口的指定公共成員字段 類對象。 // Field[] getFields() // 返回包含一個數組 Field對象反射由此表示的類或接口的所有可訪問的公共字段 類對象。// Field getDeclaredField(String name) // 返回一個 Field對象,它反映此表示的類或接口的指定已聲明字段 類對象。 // Field[] getDeclaredFields() // 返回的數組 Field對象反映此表示的類或接口聲明的所有字段 類對象。Field[] fields = c.getFields();for (Field field:fields){System.out.println(field);}System.out.println("-----------------------------------");Field[] fields01 = c.getDeclaredFields();for (Field field:fields01){System.out.println(field);}System.out.println("--------------------------------------");Field addressField = c.getField("address");//獲取無參構造方法創建對象Constructor<?> con = c.getConstructor();Object obj = con.newInstance();addressField.set(obj,"西安");System.out.println(obj);} }測試結果:
總結
以上是生活随笔為你收集整理的[Java基础]反射获取成员变量并使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 吃减肥药后感觉到恶心,还睡不着觉该怎么办
- 下一篇: [Java基础]反射获取成员变量并使用练