定义一个接口
public interface Person {
String say(String say);
}
定义一个类实现这个接口
public class Student implements Person{
@Override
public String say(String say) {
String s = "Student say:"+say;
System.out.println(s);
return s;
}
}
动态代理使用
public static void main(String[] args) {
Person student = new Student();
Person p = (Person) Proxy.newProxyInstance(student.getClass().getClassLoader(), student.getClass().getInterfaces(), new InvocationHandler() {
@Override
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
System.out.println("student 说话前");
Object invoke = method.invoke(student, args);
System.out.println("student 说话后");
return invoke;
}
});
String s = p.say("我还是个孩子");
System.out.println("返回的结果:"+s);
}