Java Academy · Lektion

extends og super

Brug extends til at genbruge en basisklasse og super til at kalde forældrekonstruktøren eller -metoder. Hold eksemplerne små og overskuelige.

Lektion 1 af 38 trin

extends og super er en gratis Java Academy-lektion på CoddyKit. Dette er lektion 1 af 3. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Java Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Java Academy-kurset indeholder 3 lektioner i alt.

Hvad er nedarvning?

Nedarvning gør det muligt for en klasse at genbruge og udvide en anden klasse. Underklassen får superklassens felter og metoder og kan tilføje sine egne. Brug det til at dele fælles kode mellem lignende typer.

Brug af extends

Brug nøgleordet extends til at oprette en underklasse. Eksempel: class Car extends Vehicle. Underklassen er en specifik type af superklassen og kan genbruge dens adfærd.

super(...) i konstruktører

Inde i en underklasses konstruktør kalder super(...) superklassens konstruktør. Det initialiserer først superklassens del. Hvis du ikke kalder den eksplicit, kalder Java som standard superklassens konstruktør uden argumenter, hvis den findes.

super.method()

Du kan også skrive super.someMethod() for at bruge superklassens version af en metode. Det er nyttigt, når underklassen vil tilføje lidt ekstra adfærd omkring grundlogikken.

Hvornår skal det bruges?

Brug nedarvning ved en tydelig er-en-relation: En Car er en Vehicle. Hvis du kun vil genbruge funktionalitet uden en passende er-en-relation, bør du foretrække komposition. Hold klassehierarkier flade, når du er begynder.

Kode: extends og super

Kode: Car extends Vehicle. Konstruktøren kalder super for at angive mærket. Underklassens metode kalder super.printInfo() og tilføjer derefter sin egen linje.

public class Main {
  // Base class with a simple constructor and method
  static class Vehicle {
    String brand;
    Vehicle(String brand) {
      this.brand = brand; // parent sets its own field
    }
    void printInfo() {
      System.out.println("Vehicle brand: " + brand);
    }
  }

  // Subclass reuses Vehicle with extends
  static class Car extends Vehicle {
    int doors;
    Car(String brand, int doors) {
      super(brand);    // call parent constructor first
      this.doors = doors;
    }
    void printInfo() {
      // Add extra info, but reuse parent behavior
      super.printInfo(); // call parent method
      System.out.println("Doors: " + doors);
    }
  }

  public static void main(String[] args) {
    // Create a Car (which is a Vehicle)
    Car c = new Car("EcoMotors", 4);
    c.printInfo(); // shows parent info then child info
  }
}

Kontrol af super(...)

Hurtigt tjek: Hvad gør kaldet super(...) inde i en underklasses konstruktør?

Opsummering

Opsummering: extends opretter en er-en-relation, super(...) initialiserer superklassen, og super.method() genbruger grundlogikken. Foretræk flade og enkle hierarkier.

Gratis at komme i gang

Lær Java med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
104
Lektioner
374

Ofte stillede spørgsmål

Er lektionen “extends og super” gratis?

Ja — hele teksten til “extends og super” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Java Academy-kurset, skal du opgradere til CoddyKit PRO. Java Academy-kurset indeholder 3 lektioner i alt.

Hvad lærer jeg i “extends og super”?

Brug extends til at genbruge en basisklasse og super til at kalde forældrekonstruktøren eller -metoder. Hold eksemplerne små og overskuelige. Du øver dig i Java Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Java Academy?

Der kræves ingen tidligere erfaring. Java Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 1 af 3.

Hvor lang tid tager lektionen “extends og super”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Java Academy-lektion?

Ja. Alle Java Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. extends og super
  2. Override af metoder
  3. Polymorfi og dynamisk binding
← Tilbage til Java Academy