黑马程序员技术交流社区
标题:
代理
[打印本页]
作者:
苏周周
时间:
2014-6-17 22:01
标题:
代理
本帖最后由 苏周周 于 2014-6-18 09:43 编辑
今天面试问到了代理:我下午回来学习了代理:如下代码;
package cn.itheima;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
import java.util.Collection;
public class Test {
public static void main(String[] args) throws Exception, Exception {
Class clazzProxy=Proxy.getProxyClass(Collection.class.getClassLoader(), Collection.class);
System.out.println(clazzProxy.getName());
Constructor[] constructors = clazzProxy.getConstructors();
for (Constructor constructor:constructors) {
String name = constructor.getName();
StringBuilder sb = new StringBuilder(name);
sb.append('(');
Class[] parameterTypes = constructor.getParameterTypes();
for(Class parameterType:parameterTypes){
String name2 = parameterType.getName();
sb.append(name2+',');
if(parameterTypes.length!=0&¶meterTypes!=null)
sb.deleteCharAt(sb.length()-1);
}
sb.append(')');
System.out.println(sb.toString());
}
Method[] mehtods = clazzProxy.getMethods();
for (Method mehtod:mehtods) {
String name1 = mehtod.getName();
StringBuilder sb1 = new StringBuilder(name1);
sb1.append('(');
Class[] parameterTypes1 = mehtod.getParameterTypes();
for(Class parameterType:parameterTypes1){
String name2 = parameterType.getName();
sb1.append(name2+',');
if(parameterTypes1.length!=0&¶meterTypes1!=null)
sb1.deleteCharAt(sb1.length()-1);
}
sb1.append(')');
System.out.println(sb1.toString());
System.out.println("==============================");
Constructor constructor = clazzProxy.getConstructor(InvocationHandler.class);
Collection newInstance = (Collection) constructor.newInstance(new InvocationHandler(){
@Override
public Object invoke(Object proxy, Method method, Object[] args)
throws Throwable {
// TODO Auto-generated method stub
return null;
}
});
System.out.println(newInstance);
}
}
}
作者:
何堂红
时间:
2014-6-17 23:47
你一点注释都不写,看着就头疼啊。今天面试怎么样?
作者:
冯云飞
时间:
2014-6-18 00:17
光看到个sb1 - -! 什么节奏。。
作者:
我、嘞个去
时间:
2014-6-18 07:33
哈哈,这么巧。。。:lol
作者:
Rodgers
时间:
2014-6-18 08:52
具体问题是什么啊?
作者:
苏周周
时间:
2014-6-18 09:41
Rodgers 发表于 2014-6-18 08:52
具体问题是什么啊?
什么是代理,代理的作用
作者:
苏周周
时间:
2014-6-18 09:42
何堂红 发表于 2014-6-17 23:47
你一点注释都不写,看着就头疼啊。今天面试怎么样?
还好把,问到代理回答的迷迷糊糊的
作者:
gyw520gyw
时间:
2014-6-18 22:46
:dizzy::dizzy::dizzy::dizzy::dizzy:
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2