Probens statiske felter

En probes statiske felt indsætter et nyt statisk felt i alle de Java-klasser, der indeholder mindst én metode, som instrumenteres af proben. Dette statiske felt er tilgængeligt for probefragmenter og kan bruges til at gemme oplysninger i probeklasser.

Betegnelsen statisk felt refererer til et felt i den klasse, der er erklæret statisk. Det kaldes somme tider en statisk variabel, et klassefelt eller en klassevariabel (i modsætning til en forekomstvariabel).

Det er valgfrit, om du vil angive et statisk felt.

Et statisk felt har denne egenskab:
Egenskab Beskrivelse
type Påkrævet. Egenskaben type angiver det nye felts Java-strengtype. Strengen skal være et fuldstændig Java-klassenavn, f.eks. java/lang/StringBuffer. Typestrengen skal repræsentere en almindelig klassetype, hverken en primitiv type eller en array-type. Den navngivne klasse skal have en standardkonstruktør (dvs. en konstruktør, der ikke tager argumenter), som den probede klasse kan få adgang til.
Når du bruger et statisk felt, initialiseres det nye statiske felt i den probede klasse ved et kald til standardkonstruktøren for feltets type. Hvis du f.eks. tilføjer et felt af typen StringBuffer, er det som at tilføje følgende kode til den klasse, som er uden for alle metoder:
static private StringBuffer fieldName = new StringBuffer();

Initialiseringskaldet foretages ved starten af funktionen til klasseinitialisering for den probede klasse. Hvis klassen ikke allerede har en funktion til klasseinitialisering, vil der blive oprettet en. Hvis proben har et staticInitializer-fragment, udføres staticInitializer-fragmentkoden efter konstruktionen af det statiske felt.

Probefragmenter kan bruge dataelementet staticField til at få adgang til det objekt, der refereres til af det statiske felt. Fragmenter kan ændre tilstanden for det objekt, som det statiske felt refererer til, men de kan ikke få det statiske felt til at referere til et andet objekt.

Der kan kun være ét statisk felt angivet for en probe. Hvis du vil bruge specifikationen af det statiske felt til at gemme mere end ét element i den probede klasse, skal du anvende en sammensat objekttype som f.eks. ArrayList, HashMap eller HashSet. Alternativt kan du definere og benytte en ny klasse med den datastruktur, du har brug for.

Eksempel:

Hvis du vil angive et statisk felt, skal du højreklikke på Probe i editorens delvindue med træstrukturen og derefter klikke på Ny > Statisk felt. Angiv Java-typen i redigeringsdelvinduet.

En indgang for en probes statiske felt. Indgangen er: /java/lang/StringBuffer

Relateret reference
Probefragmenttypen staticInitializer
Relaterede oplysninger
Eksempel på staticField- og staticInitializer-probe