课程名称:反射
课程章节:第三章
主讲老师:Cedar
课程内容:
public class ClassUtil {
public static void printClassMessage(Object object){ //obj,该对象所属类的信息
// 要获取类的信息,首先要获取类的类类型
Class c = object.getClass(); //传递的是哪个子类的对象,c就是该子类的类类型
// 获取类的名称
System.out.println("类的名称是" + c.getName());
/**
* Method类,方法对象
* 一个成员方法就是一个Method对象
* getMethod()方法获取的是所有的public函数,包括父类继承而来的
*/
Method[] ms = c.getMethods();
for (int i = 0;i < ms.length; i++){
//得到方法的返回值类型
Class returnType = ms[i].getReturnType();
//得到该方法的名称
System.out.println(ms[i].getName());
//获取参数类型--->得到的事参数列表的类型的类类型
Class[] parameterTypes = ms[i].getParameterTypes();
for (Class cl : parameterTypes){
System.out.println(cl.getName());
}
}
}
}课程收获:
这节课主要还是承接上节课的内容,还是了解反射类,这之中的话,这个工具类的主要作用是获取一个对象的类的类类型的所有方法,可以做到:打印类的信息,包括类的成员变量,成员函数。
这个工具类的话,感觉就是更有利于了解反射机制,其实日常的话,肯定就是直接Ctrl + 鼠标左键进去直接看api接口了,不过这个方法类还是帮助我了解了一些我不知道的东西,学到了学到了,毕竟学到就是赚到,继续加油!
革命尚未成功,通知还需努力。