展开全部
可以通过反射获取到属性方法信息:public class User {
private int id;
private String name;
private double amount;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getAmount() {
return amount;
}
public void setAmount(double amount) {
this.amount = amount;
}
}
获取类信息:import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.lang.reflect.Parameter;
public class ReflectDemo {
public static void main(String[] args) {
Class clz = User.class;
// 获取所有自己定义的属性(不包含从Object继承的,如果需要可使用32313133353236313431303231363533e59b9ee7ad9431333365653935getFields()方法)
Field[] fields = clz.getDeclaredFields();
for (Field f : fields) {
System.out.println("属性名称:" + f.getName() + ",属性类型:" + f.getType().getName());
}
// 获取所有自己定义的方法(同样不包含继承的)
Method[] methods = clz.getDeclaredMethods();
for (Method m : methods) {
System.out.println("方法名称:" + m.getName());
System.out.println("返回值类型:" + m.getReturnType().getName());
// 获取方法的所有参数
Parameter[] parameters = m.getParameters();
for (Parameter p : parameters) {
System.out.println("参数类型:" + p.getType().getName());
}
System.out.println("==========================================");
}
}
}