package e;
import java.lang.annotation.Annotation;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
import java.util.concurrent.ConcurrentHashMap;
class C{
private int money=1;
public int getMoney() {
return money;
}
public void setMoney(int money) {
this.money = money;
}
}
interface A {
C func1(C c);
}
class B implements A {
@Override
public C func1(C c) {
c.setMoney(c.getMoney()+1);//money+1
return c;
}
}
//前置增强注解
@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(Retent