關於@ConstructorProperties
不明白@ConstructorProperties
Documentation說:「在一個構造函數,說明該構造方法的參數如何對應構造對象的獲取方法的註釋」。它給出了一個不明確的例子,因爲變量名與參數相同。
我真的不明白爲什麼@ConstructorProperties({"x", "y"})
指的是獲得者getX()
和getY()
。 x和y的情況與註釋不一致。
所以要澄清應該是什麼在此代碼構造的註釋:
public class Point {
public Point(int a, int b) {
this.c = a;
this.d = b;
}
public int getCc() {
return c;
}
public int getDd() {
return d;
}
private final int c, d;
}
(我編輯的代碼,因爲從答案,我理解的註釋預計代碼跟隨但我保持目的,消除歧義,吸氣劑名稱和實際變量返回之間的差異)
第二個問題...
@ConstructorProperties(value="text")
這個註釋對於JButton(String text)有什麼意義?
它似乎提供給工具使用,但只是想了解。
謝謝你的詳細解答,kepep。在你的例子中,註解似乎告訴了兩件事:1 /這種類型的對象可以返回構造函數中使用的參數的原始值。 2 /該參數的值使用名爲'getSomeValue()'的方法檢索。這個值是否被內部存儲爲是或不是無關緊要的,重要的是它可以被檢索(通過對內部變量的簡單拷貝或通過一些計算)。那是對的嗎? – mins 2014-11-03 06:33:04
是的,我認爲這是正確的。這個註釋的文檔非常短,所以我猜可能在java bean規範或使用註釋的框架文檔中有更多的信息。 – Kapep 2014-11-03 11:56:34