课程名称:反射
课程章节:第三章
主讲老师: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接口了,不过这个方法类还是帮助我了解了一些我不知道的东西,学到了学到了,毕竟学到就是赚到,继续加油!
革命尚未成功,通知还需努力。