推荐答案
public class Person {
private String name;
private int 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;
}
public static void main(String[] args) {
try {
Class c = Class.forName(Person.class.getName());
//获取类的属性
Field[] fields = c.getDeclaredFields();
for (int i = 0; i
System.out.println("类的属性有:"+ Modifier.toString(fields[i].getModifiers())+" "+fields[i].getType()+" "+fields[i].getName());
}
//获取类的方法
Method[] methods= c.getMethods();
for (int j = 0; j
System.out.println("类的方法有:"+Modifier.toString(methods[j].getModifiers())+" "+methods[j].getReturnType()+" "+methods[j].getName());
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
}
//运行结果如下:
类的属性有:private class java.lang.String name
类的属性有:private int age
类的方法有:public static void main
类的方法有:public class java.lang.String getName
类的方法有:public void setName
类的方法有:public void setAge
类的方法有:public int getAge
类的方法有:public final void wait
类的方法有:public final void wait
类的方法有:public final native void wait
类的方法有:public boolean equals
类的方法有:public class java.lang.String toString
类的方法有:public native int hashCode
类的方法有:public final native class java.lang.Class getClass
类的方法有:public final native void notify
类的方法有:public final native void notifyAll
辅助答案
用户:wanily3210
2019年02月07日
Java8 新增方法参数反射
@Test
public void propertiesTest(){
try {
//public方式使用 getMethod()
Method usernameTest = TbSysUserReflectTest.class.getDeclaredMethod("usernameTest", String.class);
Parameter[] parameters = usernameTest.getParameters();
for (Parameter parameter : parameters) {
System.out.println(parameter.getName());
}
}catch (NoSuchMethodException nme){
System.out.println(nme);
}
}
private String usernameTest(String username){
return username;
}