java中利用反射机制得到一个类的所有构造方法,成员方法机器参数的列表

原创 2014年04月05日 09:19:28

我们在只知道类名的情况下,想得到这个类的构造方法和成员方法,那么这个时候就可以通过反射机制实现这个需求:

我们这里以Set集合为例,来得到Set集合多有方法和构造方法及其参数类型。


下面是代码:

Class clazzProxy1=Proxy.getProxyClass(Set.class.getClassLoader(), Set.class);
		
		Constructor []constructors=clazzProxy1.getConstructors();
		for(Constructor constructor:constructors){
			String name=constructor.getName();
			StringBuilder sb=new StringBuilder(name);
			Class []clazzs=constructor.getParameterTypes();
			sb.append('(');
			for(Class clazz:clazzs){
				sb.append(clazz.getName()+",");
			} 
			if(clazzs!=null){
				sb.deleteCharAt(sb.length()-1);
			}
			sb.append(')');
			System.out.println(sb.toString());
		}
		
		Method []methods=clazzProxy1.getMethods();
		for(Method method:methods){
			String name=method.getName();
			StringBuilder sb=new StringBuilder(name);
			
			Class []clazzs=method.getParameterTypes();
			sb.append('(');
			for(Class clazz:clazzs){
				sb.append(clazz.getName()+",");
			}
			if(clazzs!=null&&clazzs.length!=0){
				sb.deleteCharAt(sb.length()-1);
			}
			sb.append(')');
			System.out.println(sb.toString());
		}

这里用到了Proxy代理类,这里通过代理类得到Set集合的代理类,然后通过反射机制实现方法的打印:



上面则是打印结果,

写之记录记录。。。

Spring中AOP的两种代理方式(Java动态代理和CGLIB代理)

第一种代理即Java的动态代理方式上一篇已经分析,在这里不再介绍,现在我们先来了解下GCLIB代理是什么?它又是怎样实现的?和Java动态代理有什么区别? cglib(Code Generati...

Spring IOC和AOP 原理彻底搞懂

Spring提供了很多轻量级应用开发实践的工具集合,这些工具集以接口、抽象类、或工具类的形式存在于Spring中。通过使用这些工具集,可以实现应用程序与各种开源技术及框架间的友好整合。比如有关jdbc...

通过反射机制创建一个构造方法中参数数量可变的对象

自学的时候刚看到Class类与Java反射,才开始讲解了Class类得到对应类构造方法的方法。 我们可以用getConstructors()等四个方法得到需要的Constructor构造方法或者其数组...

Java反射机制概念及构造方法的反射

Java反射机制是在运行状态中,对于任意一个类,

黑马程序员--Java基础加强--16.利用反射操作泛型V【通过Constructor反射解析泛型构造方法】【通过Field反射解析泛型成员变量】【个人总结】

利用反射操作泛型IV 通过Constructor反射解析泛型构造方法 通过Field反射解析泛型成员变量 ----------- android培训、java培训、java学习型技术博客、期待与您交流...

Java基础---基础加强---增强for循环、自动拆装箱及享元、枚举的作用、实现带有构造方法、透彻分析反射的基础_Class类、成员变量的反射、数组参数的成员方法进行反射、数组的反射应用

在perference 加content Assist 可以设置快捷键 透视图与视图 透视图:Debug和java主窗口 视图:每一个小窗口就是视图 高版本的java可运行低版本的java版本 常见...

通过反射机制获得某个类中的属性,构造方法,方法

通过反射机制访问java对象的属性,方法,构造方法等;进而可以给属性赋值,等等 例如: 1,创建java 项目,Application 类package android;public class ...

java反射的应用 构造方法 成员变量

原文:http://blognojava.iteye.com/blog/799068     由于有了神奇的Class的,基本反射也就是利用这个资源搞一搞,但是功能却很吓人....很多不好理解,...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java中利用反射机制得到一个类的所有构造方法,成员方法机器参数的列表
举报原因:
原因补充:

(最多只允许输入30个字)