反射类的属性
package star.july.reflect;import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;import org.junit.Test;//調用類的普通方法
public class FiledReflect {@Testpublic void test1() throws Exception{Class stuCla = Class.forName("star.july.entity.Student");Object obj = stuCla.newInstance(); //創建類對象//獲取私有的屬性名稱Field fieldName = stuCla.getDeclaredField("name");//暴力反射fieldName.setAccessible(true);System.out.println(fieldName); //輸出:private java.lang.String star.july.entity.Student.name//設置屬性值fieldName.set(obj, "小紅"); System.out.println(obj); //輸出:Student [name=小紅, age=0]//獲取屬性的值System.out.println(fieldName.get(obj)); //輸出:小紅//獲取所有的屬性名稱Field[] fields = stuCla.getDeclaredFields(); for(Field f : fields){System.out.println(f);//輸出:private java.lang.String star.july.entity.Student.name//private int star.july.entity.Student.age}}}
Students類:
package star.july.entity;import java.io.Serializable;public class Student extends Person<Cat> implements Serializable{private String name;private int age;public Student() {super();}public Student(String name, int age) {super();this.name = name;this.age = age;}public Student( int age) {super();this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}@Overridepublic String toString() {return "Student [name=" + name + ", age=" + age + "]";}}總結
- 上一篇: 反射类的普通方法
- 下一篇: struts2配置default-pro