1.接口human.java
public interface Human {
void say();
}2.Human的实现类 Person
public class Person implements Human {
@Override
public void say() {
System.out.println("haha");
}
}
3.处理类
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
public class Hander implements InvocationHandler {
private Object obj;
public Hander(Object obj) {
this.obj = obj;
}
public Hander() {
}
@Override
public Object invoke(Object proxy, Method method, Object[] args)
throws Throwable {
System.out.println("before");
method.invoke(obj, args);
System.out.println("after");
return null;
}
}
4. 使用
import java.lang.reflect.Proxy;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Human i = (Human) Proxy.newProxyInstance(Thread.currentThread()
.getContextClassLoader(), Person.class.getInterfaces(),
new Hander(new Person()));
i.say();
}
}
5. 输出结果
立即学习“Java免费学习笔记(深入)”;
before haha after
java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号