java动态代理的实现主要包括两个主要的点
1:实现invocationhandler接口 2:创建一个代理对象
代码示例:
public Interface Subject{
public void print();
public void print1(String str);
}
public Class MySubject{
public void print(){
system.out.print("打印方法一");
}
public void print1(){
system.out.print("打印方法二");
}
}
public Class MyHandler implements InvocationHandler{
public Object invoke(Object proxy,Method method,Object[] args){
method.invoke(proxy,args);
return null;
}
}
public Class Test{
public static void main(String[] args){
InvocationHandler handler = new MyHandler();
MySubject mysubject = new MySubject();
Subject subjectProxy = (Subject)Proxy.newInstance(mysubject.getClass().getClassLoader(),mysubject.getClass().getInterfaces(),handler);
subjectProxy.print();
subjectProxy.print1();
}
}