uitleg keywords super en extends

Status
Niet open voor verdere reacties.

Clemens Schalkw

Gebruiker
Lid geworden
5 dec 2007
Berichten
166
Ik heb even een vraagje.
Ik begrijp opzich wel wat super en extends doen, maar het verward me als ze op de volgende manier worden gebruikt :

Code:
public class Something {

  public void doIt() {
    // veel  code
  }
}

---- volgende class -----

public class SomethingElse extends Something {

  // code hier met van alles en nog wat

  public void doIt() {
    // deze wordt dus overschreven.
    // hier komt dan allerlei code
    super.doIt();
  }
}

----- of bijvoorbeeld -----

public class SomethingElse extends Something {

  // code hier met van alles en nog wat

  public void doIt() {
    // deze wordt dus overschreven.
    
    super.doIt();
    
    // hier komt dan allerlei code
  }
}


Kan iemand mij uitleggen wat er nou precies gebeurt op het moment dat super wordt aangeroepen?
Ik snap dat je dan naar de method van de super-class gaat, maar welke info wordt er dan wel en welke wordt niet meer gebruikt ???
 
extends betekent dat je de superklasse gaat uitbreiden (Logisch want to extend betekent "uitbreiden")

Een klasse die iets "extend" neem alle methodes en eigenschappen over.

Als je dan een methode gaat maken in je subklasse welke ook in de superklasse bestaat en je roept super.{methode} aan dan bestaat die functie dus zowel uit de code van de superklasse als uit de code van de subklasse.

Hier staat het ook uitgelegd.
 
Laatst bewerkt:
Allereerst bedankt voor je antwoord.
Maar waar het mij om gaat is wat het verschil is tussen :

// code
super.myMethod();

en

super.myMethod()
// code
 
Waarschijnlijk dat bij de ene eerst de code uit de subklasse wordt gedaan en daarna die van de superklasse en bij de andere vice versa.

Mijn Java is aardig aan het roesten maar je zou eenvoudig het voorbeeld van de site kunnen gebruiken om het uit te testen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan