Statiske probefelt

En probes statiske felt setter inn et nytt statisk felt i hver Java-klasse som inneholder minst en metode som er instrumentert av proben. Probefragmenter får tilgang til dette statiske feltet, og det kan brukes til å lagre informasjon i probebehandlede klasser.

Betegnelsen statisk felt viser til et felt i klassen som er deklarert som statisk. Dette kalles noen ganger en statisk variabel, et klassefelt eller en klassevariabel (kontra en forekomstvariabel).

Spesifiseringen av et statisk felt er valgfri.

Et statisk felt har denne egenskapen:
Egenskap Beskrivelse
type Obligatorisk. Egenskapen type oppgir Java-typestrengen for det nye feltet. Denne strengen må være et fullt kvalifisert Java-klassenavn, for eksempel: java/lang/StringBuffer. Typestrengen må representere en vanlig klassetype, ikke en primitiv type eller en matrisetype. Den navngitte klassen må ha en standardkonstruktør (det vil si en konstruktør som ikke tar noen argumenter) som er tilgjengelig for den probebehandlede klassen.
Når du bruker et statisk felt, blir det nye statiske feltet initialisert i den probebehandlede klassen av et kall til standardkonstruktøren for typen. Hvis du for eksempel legger til et statisk felt av typen StringBuffer, er det som å legge til denne koden i klassen som er utenfor alle metoder:
static private StringBuffer fieldName = new StringBuffer();

Initialiseringsskallet blir utført på begynnelsen av klasseinitialisereren for den probebehandlede klassen. Hvis klassen ikke har en klasseinitialiserer, blir det opprettet en. Hvis proben har et staticInitializer-fragment, kjøres staticInitializer-fragmentkoden etter at det statiske feltet er opprettet.

Probefragmenter kan bruke staticField-dataelementet for å få tilgang til objektet som er referert av det statiske feltet. Fragmenter kan endre tilstanden til objektet som det statiske feltet refererer til, men de kan ikke få det statiske feltet til å referere til et annet objekt.

Det kan bare være definert ett statisk felt for en probe. Hvis du vil bruke spesifikasjonen for det statiske feltet til å lagre flere elementer i den probebehandlede klassen, bruker du en sammensatt objekttype, for eksempel ArrayList, HashMap eller HashSet, eller definerer og bruker en ny klasse med den datastrukturen du trenger.

Eksempel:

Hvis du vil oppgi et statisk felt, høyreklikker du på Probe i redigeringsprogrammets trerute og klikker deretter på Ny(tt) > Statisk felt. Oppgi Java-typen i redigeringsruten.

En oppføring for et statisk probefelt. Oppføringen er: /java/lang/StringBuffer

Beslektet referanse
Probefragmenttypen staticInitializer
Beslektet informasjon
Eksempel på staticField og en staticInitializer-probe