0Pricing
Java Academy · Lekcja

Przesłanianie metod

Nauczą się Państwo, jak podklasy redefiniują metody klasy nadrzędnej, aby zmienić lub rozszerzyć jej zachowanie.

Przesłanianie metod 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.

Przesłanianie metod

Przesłanianie metod oznacza zdefiniowanie na nowo metody klasy nadrzędnej w podklasie. Metoda ma tę samą nazwę, parametry i typ zwracany, ale nowe ciało. Dzięki temu każda podklasa może zapewnić określone zachowanie.

Dlaczego przesłaniać metody?

Przesłanianie pozwala dostosować zachowanie. Na przykład Dog i Cat są obiektami typu Animal, ale każde z nich wydaje inny dźwięk. Zamiast tworzyć nowe nazwy metod, można przesłonić tę samą metodę, zachowując spójny sposób użycia.

Zasady przesłaniania metod

Zasady: sygnatura metody musi być dokładnie taka sama, typ zwracany musi być zgodny, a dostęp nie może być bardziej ograniczony. Należy używać adnotacji @Override, aby wykrywać pomyłki podczas kompilacji.

Używanie super.method()

Nadal można wywołać metodę klasy nadrzędnej za pomocą super.method(). Pozwala to rozszerzyć zachowanie zamiast całkowicie je zastępować, łącząc starą i nową logikę w jednym wywołaniu.

Błędy

Błędy: zmiana typów parametrów tworzy przeciążanie, a nie przesłanianie. Pominięcie @Override może ukryć literówki. Należy także unikać zawężania dostępu (np. public → private), ponieważ powoduje to błędy kompilacji.

Kod: przykład przesłaniania

Kod: Dog i Cat przesłaniają speak() z Animal. Nawet gdy odwołujemy się do nich jako do Animal, wykonywana jest wersja podklasy, co pokazuje prawdziwy polimorfizm.

public class Main {
  static class Animal {
    void speak() {
      System.out.println("Some generic animal sound");
    }
  }

  static class Dog extends Animal {
    @Override
    void speak() {
      System.out.println("Woof!");
    }
  }

  static class Cat extends Animal {
    @Override
    void speak() {
      System.out.println("Meow!");
    }
  }

  public static void main(String[] args) {
    Animal a1 = new Dog(); // upcast to Animal
    Animal a2 = new Cat();
    a1.speak(); // runs Dog version
    a2.speak(); // runs Cat version
  }
}

Sprawdzian dotyczący przesłaniania

Szybkie sprawdzenie: Co umożliwia podklasie przesłanianie metod?

Podsumowanie

Podsumowanie: Przesłanianie definiuje metody na nowo przy użyciu tej samej sygnatury, pozwalając podklasom dostosować zachowanie. Należy używać @Override i w razie potrzeby wywoływać super.

Często zadawane pytania

Czy lekcja „Przesłanianie metod” jest bezpłatna?

Tak — pełny tekst „Przesłanianie metod” 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 „Przesłanianie metod”?

Nauczą się Państwo, jak podklasy redefiniują metody klasy nadrzędnej, aby zmienić lub rozszerzyć jej zachowanie. Ć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 „Przesłanianie metod”?

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

  1. extends i super
  2. Przesłanianie metod
  3. Polimorfizm i wiązanie dynamiczne
← Powrót do Java Academy