Das Sondenobjekt StaticField fügt in jede instrumentierte Java-Klasse ein neues statisches Feld ein. Mit dem statischen Feld, auf das Sondenfragmente zugreifen können, können Informationen innerhalb von instrumentierten Klassen gespeichert werden.
Der Begriff 'statisches Feld' bezieht sich auf ein Feld der Klasse, das als statisch deklariert ist. Manchmal wird ein solches Feld als statische Variable, Klassenfeld oder Klassenvariable (im Gegensatz zu einer Instanzvariablen) bezeichnet.
Das Objekt 'StaticField' ist optional.
Merkmal | Beschreibung |
---|---|
type | Erforderliches Merkmal. Das Merkmal type gibt die Java-Typzeichenfolge für das neue Feld an. Die Zeichenfolge muss ein vollständig qualifizierter Java-Klassenname sein. Beispiel: java.lang.StringBuffer. Die Typzeichenfolge muss einen gewöhnlichen Klassentyp repräsentieren, keinen Primitive- oder Array-Typ. Die benannte Klasse muss einen Standardkonstruktor ohne Argumente haben, auf den die instrumentierte Klasse zugreifen kann. |
static private type fieldName = new type();
Der Initialisierungsaufruf wird am Anfang des Klasseninitialisierungsoperators für die instrumentierte Klasse ausgeführt. Wenn die Klasse keinen Initialisierungsoperator hat, wird ein solcher erstellt. Enthält die Sonde ein StaticInitializer-Fragment, wird der Code des StaticInitializer-Fragments ausgeführt, nachdem das statische Feld konstruiert wurde.
Sondenfragmente können mit dem Datenfeld staticField auf das Objekt zugreifen, das vom statischen Feld referenziert wird. Fragmente können den Status des vom statischen Feld referenzierten Objekts ändern, jedoch nicht bewirken, dass das statische Feld ein anderes Objekt referenziert.
Eine Sonde kann nur ein Objekt 'StaticField' enthalten. Falls Sie mit StaticField mehr als ein Element in der instrumentierten Klasse speichern möchten, verwenden Sie einen zusammengesetzten Objekttyp wie ArrayList, HashMap oder HashSet oder definieren und verwenden Sie eine neue Klasse mit der erforderlichen Datenstruktur.
<staticField type="java.util.Date" /> <fragment type="staticInitializer"> <data type="staticField" name="lastInstanceDate" /> <code> . . . </code> </fragment>
Enthalten in:
Objekt 'Probe'
Übergeordnetes Thema: Referenzinformationen zu Probekit-Elementen
Zugehörige Verweise
Sondenobjekt 'Data'
Zugehörige Informationen
Beispiel für 'staticField' und 'staticInitializer'