2012-03-11 206 views
2

設置字段假設我的I類有稱爲用java反射通過其setter方法

private long _quantity; 

我已經創建了一個吸氣劑併爲它設定器(例如getQtysetQty)字段名稱。

當我使用field.set(...)來迫使它通過它的setter時,Java反射中有一種方法嗎?

我剛剛閱讀了一個標籤@Access ...是否有任何人使用@Access的經驗?它可以用來強制一個字段訪問到一個方法?

+0

字段名稱應對應於方法名稱,反之亦然。 – 2012-03-11 11:21:36

+0

爲什麼人們堅持使用下劃線(或類似的)來表示域名? – Robert 2012-03-11 11:22:07

+0

@Robert也出現在C#設計準則中。它看起來像下劃線嚇跑人們,所以他們不會觸及私人變量。 – GETah 2012-03-11 11:27:32

回答

5

不,如果你想打電話給你的setter,你需要調用該方法,而不是直接設置字段。

如果您對該字段本身有處理權限,set將不會通過您的方法。

2

否。整體思考的重點是,您基本上是要拆除安全帶。

0

不,你不能用反射做到這一點。我知道Java VM上唯一的技術是AspectJ,它可以讓你註冊intercept field access。但即便如此,反思也無濟於事。