Java Academy · leksjon

extends og super

Bruk extends for å gjenbruke en basisklasse, og super for å kalle konstruktøren eller metodene i foreldreklassen. Hold eksemplene små og lesbare.

Leksjon 1 av 38 trinn

extends og super er en gratis leksjon i Java Academy på CoddyKit. Dette er leksjon 1 av 3. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Java Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Java Academy inneholder totalt 3 leksjoner.

Hva er arv?

Arv lar en klasse gjenbruke og utvide en annen klasse. Underklassen får superklassens felt og metoder, og kan legge til sine egne. Bruk arv for å dele felles kode mellom lignende typer.

Bruke extends

Bruk nøkkelordet extends for å opprette en underklasse. Eksempel: class Car extends Vehicle. Underklassen er en spesifikk type av superklassen og kan gjenbruke oppførselen dens.

super(...) i konstruktører

Inne i en underklassens konstruktør kaller super(...) superklassens konstruktør. Dette initialiserer superklassens del først. Hvis De ikke kaller den eksplisitt, kaller Java som standard superklassens konstruktør uten argumenter, hvis den finnes.

super.method()

De kan også skrive super.someMethod() for å bruke superklassens versjon av en metode. Dette er nyttig når underklassen vil legge til litt ekstra oppførsel rundt grunnlogikken.

Når bør det brukes?

Bruk arv for en tydelig is-a-relasjon: en Car er et Vehicle. Hvis De bare vil gjenbruke funksjonalitet uten at is-a passer, bør De foretrekke komposisjon. Hold klassehierarkiene grunne for nybegynnere.

Kode: extends og super

Kode: Car extends Vehicle. Konstruktøren kaller super for å angi brand. Underklassens metode kaller super.printInfo() og legger deretter til 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
  }
}

super(...)-sjekk

Rask sjekk: Hva gjør super(...)-kallet inne i en underklasses konstruktør?

Oppsummering

Oppsummering: extends oppretter en is-a-relasjon, super(...) initialiserer superklassen, og super.method() gjenbruker grunnlogikk. Foretrekk grunne og enkle hierarkier.

Gratis å komme i gang

Lær deg Java med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
104
Leksjoner
374

Ofte stilte spørsmål

Er leksjonen «extends og super» gratis?

Ja – hele teksten i «extends og super» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Java Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Java Academy inneholder totalt 3 leksjoner.

Hva lærer jeg i «extends og super»?

Bruk extends for å gjenbruke en basisklasse, og super for å kalle konstruktøren eller metodene i foreldreklassen. Hold eksemplene små og lesbare. Du øver på Java Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Java Academy?

Ingen tidligere erfaring er nødvendig. Java Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 1 av 3.

Hvor lang tid tar leksjonen «extends og super»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Java Academy-leksjonen?

Ja. Alle Java Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. extends og super
  2. Metodeoverstyring
  3. Polymorfisme og dynamisk binding
← Tilbake til Java Academy