L'objet de sonde StaticField insère une nouvelle zone statique dans chaque classe Java sondée. Cette zone statique est accessible aux fragments de sonde et peut servir à stocker des informations dans des classes sondées.
Le terme "zone statique" désigne une zone de la classe déclarée statique. Elle est également parfois qualifiée de "variable statique", "zone de classe" ou "variable de classe" (par opposition à "variable d'instance").
L'objet StaticField est facultatif.
Propriété | Description |
---|---|
type | Obligatoire. La propriété type indique la chaîne type Java pour la nouvelle zone. La chaîne doit correspondre à un nom de classe Java qualifié complet. Par exemple : java.lang.StringBuffer. La chaîne type doit représenter un type de classe ordinaire, et non un type primitif ou un type tableau. La classe nommée doit posséder un constructeur par défaut n'acceptant aucun argument et accessible à la classe sondée. |
static private type fieldName = new type();
L'appel d'initialisation est effectué au début de l'initialiseur de la classe sondée. Un initialiseur sera créé si la classe n'en possède pas. Si la sonde comporte un fragment StaticInitializer, le code de ce dernier s'exécute après la construction de la zone statique.
Des fragments de sonde peuvent utiliser l'élément de données staticField pour accéder à l'objet auquel la zone statique fait référence. Les fragments peuvent modifier l'état de l'objet référencé par la zone statique mais ne peuvent faire que celle-ci fasse référence à un autre objet.
Une sonde peut comporter un seul objet StaticField. Pour utiliser StaticField afin de stocker plusieurs éléments dans la classe sondée, utilisez un type d'objet composite tel que ArrayList, HashMap ou HashSet, ou bien définissez et employez une classe avec la structure de données souhaitée.
<staticField type="java.util.Date" /> <fragment type="staticInitializer"> <data type="staticField" name="lastInstanceDate" /> <code> . . . </code> </fragment>
Figurant dans
Objet de sonde
Rubrique parent :
Référence Probekit
Référence associée
Le fragment de sonde staticInitializer
Informations connexes
Exemple staticField et staticInitializer