Pole static sondy wstawia nowe pole static do każdej klasy Java zawierającej co najmniej jedną metodę instrumentowaną przez sondę. Pole static jest dostępne dla fragmentów sondy i może służyć do przechowywania informacji wewnątrz sondowanych klas.
Termin pole static oznacza pole klasy, które zostało zadeklarowane jako static. Czasami jest ono nazywane zmienną statyczną, polem klasy lub zmienną klasy (w odróżnieniu od zmiennej instancji).
Specyfikacja pola static jest opcjonalna.
Właściwość | Opis |
---|---|
type | Atrybut wymagany. Właściwość type określa łańcuch typu Java dla nowego pola. Łańcuch musi być pełną nazwą klasy Java, na przykład: java/lang/StringBuffer. Łańcuch typu musi reprezentować zwykły typ klasy, a nie typ podstawowy lub typ tablicowy. Nazwana klasa musi mieć konstruktor domyślny (czyli konstruktor niepobierający argumentów) dostępny dla sondowanej klasy. |
static private StringBuffer fieldName = new StringBuffer();
Wywołanie inicjujące jest wykonywane na początku inicjatora sondowanej klasy. Jeśli klasa nie ma inicjatora, zostanie on utworzony. Jeśli sonda zawiera fragment staticInitializer, kod fragmentu staticInitializer jest uruchamiany po skonstruowaniu pola static.
Korzystając z elementu danych staticField, fragmenty sondy mogą uzyskiwać dostęp do obiektu, do którego odwołuje się pole static. Fragmenty mogą zmieniać stan obiektu, do którego odwołuje się pole static, ale nie mogą powodować, aby pole static odwoływało się do innego obiektu.
Sonda może mieć określone tylko jedno pole static. Aby specyfikacja pola static umożliwiała przechowywanie więcej niż jednego elementu w sondowanej klasie, należy użyć złożonego typu obiektu (takiego jak ArrayList, HashMap lub HashSet) albo zdefiniować nową klasę z potrzebną strukturą danych i zastosować ją.
Aby wprowadzić pole static, należy kliknąć prawym przyciskiem myszy opcję Sonda w panelu drzewa edytora, a następnie kliknąć opcję . Na koniec należy wprowadzić typ Java w panelu edycji.