Składowe statyczne - Pola statyczne |
Instrukcje dodatkowe - Programowanie w języku JAVA | ||||||||
Wpisany przez Administrator | ||||||||
Strona 3 z 6
Pola statyczne
Pola statyczne, podobnie jak metody statyczne istnieją nawet wtedy, kiedy nie istnieje obiekt danej klasy.
Pole statyczne odróżnia się określeniem static, które występuje na początku, po ewentualnym specyfikatorze dostępu: public static int bok = 10; static int promien = 100; static double cena;
Aby to zobrazować napiszemy oczywiście specjalny program, a właściwie zmodyfikujemy ten, który już wcześniej napisaliśmy: Zad. 3.: Zmodyfikuj powyższy program: 1)w klasie algebra dodaj statyczne pole pi o wartości 3,14 2) wyświetl wartość pola pi dla utworzonego obiektu algebra1 klasy Algebra 3) w klasie głównej programu oblicz pole koła korzystając ze statycznego pola pi i wyświetl wynik na ekranie
Postaraj się napisać ten program samodzielnie.
ad. 1) ad. 2) i 3)
Oto wynik wywołania programu:
Zrobimy jeszcze jedno doświadczenie, które, myślę, przyszło Ci również do głowy: Skoro pole pi jest polem statycznym i wspólny dla wszystkich obiektów tej klasy, to czy można je zmienić i jeśli tak, to jaki będzie tego skutek? Odpowiedź na powyższe pytanie da nam modyfikacja naszego programu: Zad. 4.: Zmodyfikuj powyższy program: 1) Odwołaj się do pola statycznego pi klasy algebra i zmień jego wartość na 15 (zamiast 3,14) 2) w klasie głównej programu oblicz pole koła korzystając ze statycznego pola pi i wyświetl wynik na ekranie 3) odwołaj się do pola statycznego pi przez odniesienie z obiektu algebra1 klasy algebra i zmień jego wartość na 92 (zamiast 14) 4) w klasie głównej programu oblicz pole koła korzystając ze statycznego pola pi i wyświetl wynik na ekranie Postaraj się napisać ten program samodzielnie. Oto listingi do tego programu:
Wynik wywołania programu: Jak widać na powyższym obrazku, za każdym razem wartość pola statycznego uległ zmianie, czego dowodem są wartości wyświetlane w poszczególnych. Wnioski? 1) pola statyczne rzeczywiście są statyczne i wspólne dla wszystkich obiektów i nie-obiektów danej klasy, ponieważ zmiana tego pola owocuje zmianą jego wartości w każdym obiekcie klasy jak również w samej klasie źródłowej (algebra) 2) wartość pola statycznego można z takimi samymi konsekwencjami zmienić zarówno z poziomu odwołania "statycznego" jak również z poziomu odwołania poprzez obiekt danej klasy.
|