欢迎来到天天文库
浏览记录
ID:51690227
大小:44.95 KB
页数:3页
时间:2020-03-15
《Java代理机制创建动态类.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、Java代理机制创建动态类 在学习编程的过程中,我觉得不止要获得课本的知识,更多的是通过学习技术知识提高解决问题的能力,这样我们才能走在最前方,更多Java学习,请登陆疯狂java培训官网。 Java代理机制创建动态类及查看其方法列表信息 [java] packagecom.pzf; importjava.lang.reflect.Constructor; importjava.lang.reflect.Method; importjava.lang.reflect.Proxy; importjava.util.Collection; /*创建动态类及查看其方法列表信
2、息*/ publicclassProxyTest{ publicstaticvoidmain(String[]args){ ClassclazzProxy1=Proxy.getProxyClass(Collection.class.getClassLoader(), Collection.class);//参数1类加载器,2类的接口(可多个) System.out.println(clazzProxy1.getName()); //2,查看类的方法 //2.1查看构造方法 System.out.println("----构造方法列表----"); Constructo
3、r[]constructors=clazzProxy1.getConstructors(); for(Constructorconstructor:constructors){ //获得构造方法的名字 Stringname=constructor.getName(); StringBuildersb=newStringBuilder(name); sb.append('('); //查看方法的参数 Class[]clazzParames=constructor.getParameterTypes(); for(ClassclazzParame:clazzParames)
4、{ //取出类型名字,并且追加到StringBuilder,并且每个参数用逗号隔开 sb.append(clazzParame.getName()).append(","); } //去掉最后逗号 if(clazzParames!=null&&clazzParames.length!=0) sb.deleteCharAt(sb.length()-1); sb.append(')'); System.out.println(sb.toString()); } System.out.println("----方法列表----"); Method[]methods=cl
5、azzProxy1.getMethods(); for(Methodmethod:methods){ //获得构造方法的名字 Stringname=method.getName(); StringBuildersb=newStringBuilder(name); sb.append('('); //查看方法的参数 Class[]clazzParames=method.getParameterTypes(); for(ClassclazzParame:clazzParames){ //取出类型名字,并且追加到StringBuilder,并且每个参数用逗号隔开 sb.a
6、ppend(clazzParame.getName()).append(","); } //去掉最后逗号 if(clazzParames!=null&&clazzParames.length!=0) sb.deleteCharAt(sb.length()-1); sb.append(')'); System.out.println(sb.toString()); } } } 结果: $Proxy0 ----构造方法列表---- $Proxy0(java.lang.reflect.InvocationHandler) ----方法列表---- add(jav
7、a.lang.Object) hashCode() clear() equals(java.lang.Object) toString() contains(java.lang.Object) isEmpty() addAll(java.util.Collection) iterator() size() toArray([Ljava.lang.Object;) toArray() remove(java.lang.Ob
此文档下载收益归作者所有