Subject是一个接口:
interface Subject{}代码段一:
public static void main(String []args){
RealSubject realSub = new RealSubject();
InvocationHandler handler = new DynamicSubject(realSub);
Subject sub = (Subject)Proxy.newProxyInstance(
handler.getClass.getClassLoader(),
realSub.getClass().getInterfaces(),
handler);
}
代码段二:
public static void main(String []args){
RealSubject realSub = new RealSubject();
InvocationHandler handler = new DynamicSubject(realSub);
Subject sub = (Subject)Proxy.newProxyInstance(
Subject.class.getClassLoader(),
realSub.getClass().getInterfaces(),
handler);
}
经过测试两端代码执行结果都是一样的,问题就是第一段的ClassLoader是来自于handler.getClass.getClassLoader();而第二段代码的ClassLoader是来自于Subject.class.getClassLoader().
请问这两个有什么区别吗?那个ClassLoader到底是拿来干嘛的?
|