Co to są zmienne instancji w Javie
Zmienne Java
Zmienne Java przechowują wartości danych lub odwołania do obiektów. Poniższa przykładowa zmienna przechowuje wartość pierwotnego typu integer:
int myNum = 5;
Poniższy przykładowy kod pokazuje, jak utworzyć zmienną do przechowywania odwołania do obiektu, używając klasy Integer:
Integer myNumber = new Integer (5);
Przechowuje odwołanie do obiektu zamiast wartości danych, tak jak w pierwszym przykładzie. Gdy Java znajdzie ten kod, obiekt zostanie utworzony zgodnie z deklaracją klasy Integer, zwracając odniesienie do lokalizacji nowego obiektu w pamięci. Po operacji przypisania wskazanej przez znak równości nazwa zmiennej "myNumber" wskazuje na tę lokalizację.
Klasy
Gdy programiści tworzą aplikacje w Javie przy użyciu technik obiektowych, tworzą jedną lub więcej deklaracji klasy, definiując obiekty, których potrzebują do wykonania zestawu zadań w ramach aplikacji jako całości. W deklaracji klasy programiści mogą zawierać zmienne i metody. Te zmienne i metody istnieją dla każdej instancji klasy utworzonej w aplikacji. Metoda konstruktora jest szczególnie ważna, ponieważ gdy programy Java tworzą obiekt klasy, wykonywana jest metoda konstruktora.
Obiekty instancji
Gdy deklaracja klasy istnieje w aplikacji Java, programiści mogą tworzyć wystąpienia obiektów klasy. Programy mogą również automatycznie tworzyć obiekty klas, które są standardem w języku, na przykład klasa Integer. Poniższy przykładowy kod pokazuje, jak utworzyć obiekt klasy "Pomocnik" w aplikacji z deklaracją klasy "Pomocnik":
Helper myHelp = new Helper ("Jim");
To działałoby na wypadek, gdyby konstruktor klasy podjął parametr łańcuchowy.
Zmienne instancji
Zmienne instancji przechowują dane dla poszczególnych instancji klasy. Na przykład w klasie "Pomocnik" można zadeklarować następującą zmienną instancji:
private String myName;
Zwykle pojawia się przed metodą konstruktora, która może utworzyć instancję w następujący sposób:
public Helper (String helperName) {myName = helperName; }
Powszechną praktyką jest zapewnienie, że wszystkie zmienne instancji mają przypisaną wartość w momencie zakończenia wykonywania metody konstruktora. Zmienne instancji są deklarowane z prywatną widocznością, co oznacza, że ich wartości można zmieniać tylko w obrębie klasy.
Dostęp
Zewnętrzny kod klasy może czasami uzyskać dostęp do zmiennych instancji za pomocą metod klasy, tak jak w poniższym przykładowym kodzie:
public String getName () {return myName; }
Kod zewnętrzny może uzyskać dostęp do zmiennej, wywołując tę metodę w instancji klasy, w następujący sposób:
String theName = myHelp.getName ();
Jest to metoda "accessor". Metody zapewniające zewnętrzny kod z możliwością modyfikowania wartości zmiennych instancji, metody "mutatora", mogą przeprowadzać poprawki, aby zapobiec używaniu nieprawidłowych wartości.