Metody statyczne a instancji
Poznają Państwo, kiedy używać elementów statycznych, a kiedy elementów instancji, oraz czym różnią się wywołania.
Metody statyczne a instancji to bezpłatna lekcja Java Academy na CoddyKit. To lekcja 2 z 3. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Java Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Java Academy zawiera 3 lekcji w sumie.
Co oznacza static
Idea: Elementy statyczne należą do klasy. Elementy instancji należą do poszczególnych obiektów.
Elementy instancji
Metody instancji korzystają ze stanu konkretnego obiektu. Wywołuje się je na zmiennych, takich jak user.login().
Elementy statyczne
Metody i pola statyczne są współdzielone. Wywołuje się je za pośrednictwem nazwy klasy, na przykład Math.max(a, b).
Wybór: static czy instancja
Należy wybrać instancję, gdy działanie zależy od stanu obiektu. static należy wybrać dla czystych narzędzi lub liczników współdzielonych przez całą klasę.
Pułapki
Należy unikać używania pól instancji w metodzie z modyfikatorem static. Nie należy używać static tam, gdzie potrzebny jest stan właściwy dla konkretnego obiektu.
Przykład: static a instancja
Należy uruchomić przykład, aby zobaczyć wywołania metod instancji na obiektach oraz wywołania statyczne za pośrednictwem klasy. Licznik jest współdzielony.
public class Main {
public static void main(String[] args) {
// Two Person objects hold different names
Person a = new Person("Ada");
Person b = new Person("Bob");
// Instance method: needs an object
a.greet();
b.greet();
// Static method/field: belong to class Utils
int s = Utils.add(7, 5); // pure function
System.out.println("sum = " + s);
Utils.bumpCounter();
Utils.bumpCounter();
System.out.println("counter = " + Utils.counter); // shared across all
}
static class Person {
private String name;
Person(String name) { this.name = name; }
void greet() {
System.out.println("Hello, " + name + "!");
}
}
static class Utils {
static int counter = 0; // static field (shared)
static int add(int x, int y) { // static method (pure)
return x + y;
}
static void bumpCounter() { // static method (mutates shared)
counter = counter + 1;
}
}
}
Sprawdź swoją wiedzę
Szybkie sprawdzenie: Które wywołanie działa bez wcześniejszego tworzenia obiektu?
Podsumowanie
Podsumowanie: Element statyczny = poziom klasy i współdzielenie. Element instancji = działanie i stan konkretnego obiektu.
Często zadawane pytania
Czy lekcja „Metody statyczne a instancji” jest bezpłatna?
Tak — pełny tekst „Metody statyczne a instancji” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Java Academy, przejdź na CoddyKit PRO. Kurs Java Academy zawiera 3 lekcji w sumie.
Co nauczysz się w „Metody statyczne a instancji”?
Poznają Państwo, kiedy używać elementów statycznych, a kiedy elementów instancji, oraz czym różnią się wywołania. Ćwiczysz Java Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Java Academy?
Nie wymagamy żadnego doświadczenia. Java Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 3.
Ile czasu zajmuje lekcja „Metody statyczne a instancji”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Java Academy?
Tak. Każda lekcja Java Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Przekazywanie przez wartość w Javie
- Metody statyczne a instancji
- Dekompozycja metod i czysty kod