方法介绍
public class Users {
private String username;
private int userage;
public int heigh;
public int getHeigh() {
return heigh;
}
public void setHeigh(int heigh) {
this.heigh = heigh;
}
public Users(){
}
public Users(String username,int userage){
this.userage=userage;
this.username=username;
}
private Users(int userage){
this.userage=userage;
}
public Users(String username){
this.username=username;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public int getUserage() {
return userage;
}
public void setUserage(int userage) {
this.userage = userage;
}
}public class Users {
private String username;
private int userage;
public Users(){
}
public Users(String username,int userage){
this.userage=userage;
this.username=username;
}
private Users(int userage){
this.userage=userage;
}
public Users(String username){
this.username=username;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public int getUserage() {
return userage;
}
public void setUserage(int userage) {
this.userage = userage;
}
}
获取成员变量
import java.lang.reflect.Field;
public class GetField {
public static void main(String[] args) throws NoSuchFieldException {
Class clazz= Users.class;
Field[] fields=clazz.getFields();
for(Field f:fields){
System.out.println(f);
System.out.println(f.getName());
}
System.out.println("-------------");
Field[] fields1 =clazz.getDeclaredFields();
for(Field f:fields1){
System.out.println(f);
System.out.println(f.getName());
}
System.out.println("---------------");
//Field field = clazz.getField("userage"); //会报错,因为uerage是private类型变量
//System.out.println(field);
System.out.println("----------------");
Field field1 = clazz.getDeclaredField("userage");
System.out.println(field1);
}
}
操作成员变量
import java.lang.reflect.Field;
public class GetField2 {
public static void main(String[] args) throws Exception {
Class clazz = Users.class;
Field field = clazz.getField("heigh"); //不能是pribate类型变量,应为无法重新赋值
//对象实例化
Object obj=clazz.newInstance();
//为成员变量赋予新的值
field.set(obj,176);
//获取成员变量的值
Object o = field.get(obj);
System.out.println(o);
}
}