🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
``` Person person = new Person("张三", 11); Class c = person.getClass(); //1. 获取类的名称 //System.out.println(c.getName()); //Object.Person ``` #### 构造方法 ``` //对象的构造函数信息 // getConstructors 获取所有public构造函数 // getDeclaredConstructors 获取所有构造函数 Constructor[] declaredConstructors = c.getDeclaredConstructors(); for (Constructor constructor : declaredConstructors){ System.out.println(constructor.getName()); //构造函数的参数列表,参数类型 Class[] parameterTypes = constructor.getParameterTypes(); for (Class c1 : parameterTypes){ System.out.println(c1.getName()); } } ``` #### 对象方法 ``` //2. 获取所有的public的方法,包括从父类继承的 Method[] methods = c.getMethods(); Method[] declaredMethods = c.getDeclaredMethods(); //自己声明的方法 for(Method method : methods){ //返回值类型 Class returnType = method.getReturnType(); //方法名称 method.getName(); //方法参数类型 method.getParameterTypes(); } ``` #### 对象的成员变量 ``` // 对象的成员变量信息 Field[] declaredFields = c.getDeclaredFields(); for (Field field : declaredFields){ Class fieldType = field.getType(); String typeName = fieldType.getName(); String fieldName = field.getName(); System.out.println(fieldType + " " + typeName + " "+ fieldName); } ```