java反射获取类的信息
2016-10-17 21:37
169 查看
java反射获取类的信息
<4000
h3>(一)类的方法
import java.lang.reflect.Method; public class ClassUtil { public static void printClassMessage(Object obj){ Class c=obj.getClass(); //获取要打印的"(包括类,数据类型等等)"的类类型 /* *打印方法的返回值类型 * */ Method[] m=c.getMethods(); //获取该类中的所有public方法的类类型 (包括父类继承来的方法) // Method[] m=c.getDeclaredMethods(); 获取该类中的所有方法的类类型 (自己定义的方法,不包括父类继承来的方法) for(int i=0;i<m.length;i++){ Class returnType=m[i].getReturnType(); //获取方法返回值的类类型 System.out.print(returnType.getName()+" ");//获取方法返回值的类名称 System.out.print(m[i].getName()+"("); //获取方法名 Class[] params=m[i].getParameterTypes();//获取参数列表的数据类型的类类型,一个一个保存在params中 for(Class p:params){ System.out.print(p.getName()+",");//获取每一个参数 } System.out.println(")"); } } }
(二)类的成员变量
/* * 类的成员变量 * */ public static void printClassFieldMessage(Object obj){ Class c=obj.getClass(); //获取类的类类型 //获取所有的成员变量 Field[] fields=c.getFields(); for(Field f:fields){ //获取成员变量的类类型 Class fieldType=f.getType(); //获取成员变量的名字 String fieldName=f.getName(); System.out.println(fieldType+" "+fieldName); } }
(三)类的构造方法
/* * 类的构造方法 * */ public static void printClassConstructorMessage(Object obj){ Class c=obj.getClass(); //获取类的类类型 //获取类的public构造方法 //Constructor[] con=c.getConstructors(); //获取类的所有构造方法 Constructor[] constructor=c.getDeclaredConstructors(); for(Constructor con:constructor){ //获取构造方法的名字 System.out.print(con.getName()+"("); //获取构造方法的参数类型的类类型列表 Class[] paramTypes=con.getParameterTypes(); for(Class p:paramTypes){ System.out.print(p.getName()+","); } System.out.println(")"); } }
(四)测试
public class Test {public static void main(String[] args) {
System.out.println("======类的方法========");
String s1="123";
ClassUtil.printClassMethodMessage(s1);
System.out.println("=======类的成员=======");
ClassUtil.printClassFieldMessage(new Integer(1));
System.out.println("=======类的构造方法=======");
ClassUtil.printClassConstructorMessage(new Integer(1));
}
}(注:本博客是小编的读书笔记)
相关文章推荐
- java反射应用——从Class类中获取信息
- Java反射获取类信息
- Java 反射(1):基本类周边信息获取
- Java中通过反射获取类的信息(方法名,参数,构造函数等)
- 夯实JAVA基本之二 —— 反射(2):泛型相关周边信息获取
- 黑马程序员--Java基础加强--14.利用反射操作泛型III【解析关于泛型类型的细节信息的获取方法】【Method与泛型相关的方法】【个人总结】
- Java 反射:Class类,动态加载类获取方法和成员变量构造信息,方法反射的基本操作,集合泛型的本质
- Java 反射(2):泛型相关周边信息获取
- 夯实JAVA基本之二 —— 反射(1):基本类周边信息获取
- Java反射---获取field信息跟构造函数信息
- Java--Reflect(反射)专题3——获取类的方法的所有信息
- Java使用反射来获取Map的泛型信息
- Java 反射(3):类内部信息获取
- java反射获取类信息
- java反射---获取类型信息
- Java基础——反射之获取对象信息
- Java使用反射来获取成员变量泛型信息
- 夯实JAVA基本之二 —— 反射(3):类内部信息获取
- 夯实JAVA基本之二 —— 反射(1):基本类周边信息获取