StaticField 探針物件

StaticField 探針物件會把新的靜態欄位插入每一個探測的 Java 類別中。 探針片段可以存取這個靜態欄位,並且使用這個欄位來儲存探針類別內的資訊。

「靜態欄位」是指宣告為 Static 類別的欄位。 有時候又稱為「靜態變數」、「類別欄位」或「類別變數」(相對於「實例變數」)。

StaticField 物件是選用性的物件。

StaticField 物件的內容如下:
內容 說明
type 必要的項目。 type 屬性主要在指定新欄位的 Java 類型字串。 這個字串必須是完整的 Java 類別名稱。 例如:java.lang.StringBuffer。 類型字串必須代表一個普通的類別類型,而不是初始類型或陣列類型。 具名的類別必須具有不帶引數的預設建構子,而且被探測的類別也可以存取它。
當您使用 StaticField 物件時,會針對該類型呼叫預設建構子,來起始設定被探測類別中的新靜態欄位, 就好像在類別範圍的該類別中,加入下列程式碼:
static private type fieldName = new type();

起始設定呼叫是在被探測類別的類別初值設定一開始時發出。 如果該類別沒有類別初值設定,則會建立一個。 如果探針有 StaticInitializer 片段,則 StaticInitializer 片段碼會在靜態欄位建構之後執行。

探針片段可以使用 staticField 資料項目,來存取靜態欄位所參照的物件。 雖然片段可以變更靜態欄位所參照的物件狀態,但卻不能讓靜態欄位參照不同的物件。

探針只能有一個 StaticField 物件。 如果要使用 StaticField,在被探測的類別儲存一個以上的項目, 請使用一個複合物件類型(例如:ArrayListHashMapHashSet), 或者以您所需要的資料結構,定義和使用新類別。

範例
<staticField type="java.util.Date" />
<fragment type="staticInitializer">
   <data type="staticField" name="lastInstanceDate" />
   <code>
      . . . 
   </code>
</fragment>

內含於
探針物件

母主題: Probekit 參照

相關參照
staticInitializer 探針片段

相關資訊
staticField 和 staticInitializer 範例

Copyright IBM Corporation and others 2000, 2004.