我有一些看起来像的代码:
public class Custom {
private int a = 0;
private int b = 0;
public void doSomething() { ... }
public void setA(int a) { this.a = a; doSomething(); }
public void setB(int b) { this.b = b; doSomething(); }
}
这种模式对我来说很常见,并且发生在我的一些课程中。有没有办法使用Java的注释系统来创建类似的东西:
public class Custom {
@Callback(method=doSomething)
private int a = 0;
@Callback(method=doSomething)
private int b = 0;
private void doSomething() { ... }
}
答案 0 :(得分:2)
注释本身什么都不做。它可以只标记字段,方法,类等。此标记可以由实现某些操作的其他代码使用。
在您的情况下,您可以使用动态代理或字节码工程技术,例如AspectJ。