2013-07-09 58 views
0

我有一些代碼,看起來像:是否可以在一個偵聽變化的變量上創建一個Annotation?

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() { ... } 
} 

回答

2

註釋本身什麼都不做。它可以標記字段,方法,類等。這個標記可以被其他實現一些動作的代碼使用。

在你的情況下,你可以使用動態代理或字節碼工程技術,例如AspectJ。

+0

謝謝 - 我沮喪地接受了這個答案。語言如何使一項簡單的任務變得不可能是很有趣的。 – sdasdadas

相關問題