Czy zmienne zadeklarowane w bloku statycznym są dostępne nigdzie indziej? Jakim "rodzajem" są członkowie (tj. Czy są one również statycznymi elementami?)Jaki jest zakres zmiennych zadeklarowanych wewnątrz bloku statycznego w java?
Odpowiedz
Ogólnie rzecz biorąc programiści nie muszą zadeklarować żadnych zmiennych w blokach statycznych, zwykle jest to tylko w celu zapewnienia inicjalizacji zmiennych statycznych do użycia przez wszystkie wystąpienia klasy (w zależności od zakresu zmiennej statycznej).
Zmienne zadeklarowane w bloku statycznym będą lokalne dla tego bloku, podobnie jak zmienne metod i konstruktorów.
Zmienne zadeklarowane wewnątrz bloku są dostępne tylko wewnątrz tego bloku. Statyczny lub nie.
Zmienne zadeklarowane w statycznej metodzie są statyczne. Mogą uzyskać dostęp tylko do innych zmiennych statycznych lub zmiennych globalnych.
Ale w przeciwieństwie do zmiennych lokalnych C/C++ 's, zmienne te nie naprawdę "go poza zakresem" po tych sporządzi blokowych, prawda? –
Zakres zmiennych w bloku to blok. Po jego wykonaniu nie masz dostępu do tych zmiennych. To oznacza, że zmienne wykraczają poza zakres. Statyczny blok wykonuje się tylko raz, więc nie ma możliwości ponownego wejścia do niego. Zazwyczaj używa się bloku statycznego do inicjowania pól statycznych w klasie, gdy klasa jest ładowana i przed uruchomieniem dowolnego konstruktora. Pola statyczne mają zakres, który im dajesz: publiczny, pakiet chroniony, chroniony, prywatny. –
Są one podobne do zmiennych metod. Dostępne tylko w zakresie bloku.
Nie, niewidoczny poza blokiem. Działają one jak zmienne lokalne - pomyśl o blokowaniu statycznym jako anonimowej funkcji wywoływanej podczas inicjowania klasy. Nie są statycznymi członkami.
- 1. Jaki jest zakres zmiennych w widoku?
- 2. Golang: zakres zmiennych wewnątrz instrukcji if
- 3. Co to jest odpowiednik Scala bloku statycznego Java?
- 4. W JavaScript, jaki jest zakres zmiennych używanych w setTimeout?
- 5. Umieszczenie Logger.info w bloku statycznego
- 6. Zakres JavaScript w bloku próbnym
- 7. Jak powrócić ze statycznego bloku inicjowania w java
- 8. Zakres zmiennych w KSH
- 9. Jaki jest zakres HOUR_OF_DAY?
- 10. Zakres zmiennej lokalnej w bloku
- 11. Zakres zmiennych w instrukcjach if
- 12. jaki jest zakres funkcji funkcji w qore?
- 13. Jaki jest zakres tabeli TemgreSQL?
- 14. jaki jest ekwiwalent C# statycznego {...} w Javie?
- 15. Zakres Java: Zwrócenie obiektu utworzonego wewnątrz metody - Czy jest niebezpieczny?
- 16. Deklaracja zmiennych w bloku BEGIN
- 17. W jaki sposób zakres zmiennych Stylus działa między plikami?
- 18. GpsSatellite.getSnr() - Jaki jest zakres wartości?
- 19. Zakres zmiennych w dekoratorze Pythona
- 20. Upuść zakres zmiennych w SAS
- 21. Jaki jest zakres sesji HTTP?
- 22. Magento - Otrzymywanie tytułu statycznego bloku cms z jego bloku?
- 23. Dlaczego ta stała zmiennoprzecinkowa jest pusta przy wykonywaniu bloku statycznego?
- 24. Jaki jest zakres zmiennej lambda w C#?
- 25. Jaki zakres dat jest dozwolony w JavaScript?
- 26. Wyjątki wewnątrz bloku zamka
- 27. Jaki jest sens ponownego przypisywania zmiennych argumentów?
- 28. Przekazywanie zmiennych wewnątrz umiędzynarodowienia plik yml
- 29. Lepiej jest mieć zsynchronizowany blok wewnątrz bloku try lub blok try wewnątrz zsynchronizowanego bloku?
- 30. Zakres zmiennej wewnątrz lambda
"Generalnie programiści nie muszą zadeklarować żadnych zmiennych w blokach statycznych" >> Dlaczego nie? Jeśli potrzebujesz tymczasowych obiektów do przechowywania danych, będziesz mieć zmienne w bloku statycznym. Pomyśl o scenariuszu, w którym musisz utworzyć instancję statyczną po wykonaniu arytmetycznej operacji i chcesz, aby kod był czytelny 'statyczny promień pływalności; obszar statyczny; static { końcowy wskaźnik PI = 3,14f; area = (float) (PI * Math.pow (radius, 2)); } ' – realPK