public static void main(String[] args) throws Exception {
Class c1 = Class.forName("com.saxon.reflection.Person");
//获得类的名字
System.out.println(c1.getName());//全名:包名+类名
System.out.println(c1.getSimpleName());//类名
Field[] declaredFields = c1.getDeclaredFields();//获得全部属性
for (Field declaredField : declaredFields) {
System.out.println(declaredField);
}
System.out.println("================================");
//获得指定属性的值
Field name = c1.getDeclaredField("name");//可以获得所有的属性
System.out.println(name);
Method[] methods = c1.getMethods();//本类及其父类的全部public方法
for (Method method : methods) {
System.out.println(method);
}
System.out.println("===================================");
Method[] declaredMethods = c1.getDeclaredMethods();//本类的所有方法
for (Field declaredField : declaredFields) {
System.out.println(declaredField);
}
System.out.println("=============================");
//获取指定的方法
Method getName = c1.getMethod("getName", null);
Method getName1 = c1.getDeclaredMethod("setName", String.class);
System.out.println(getName);
System.out.println(getName1);
System.out.println("==============================");
//获取指定的构造器
Constructor[] constructors = c1.getConstructors();
for (Constructor con : constructors) {
System.out.println(con);
}
System.out.println("==============================");
Constructor[] declaredConstructors = c1.getDeclaredConstructors();
for (Constructor declaredConstructor : declaredConstructors) {
System.out.println(declaredConstructor);
}
//获得指定的构造器并打印
System.out.println(c1.getDeclaredConstructor(String.class, int.class, int.class));
}
原文:https://www.cnblogs.com/saxonsong/p/14710014.html