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号