Vererbung beschreibt das Konzept, dass Attribute und Methoden an andere Klassen weitergegeben werden können

Möglichkeiten sind:

Beispiel


public class Superclass{
    private int attribute1;
    public int attribute2 = 2;
    public Superclass(int attribute1) {
        this.attribute1 = attribute1;
    }
    public int getAttribute1(){return attribute1;}
    public String getName(){return "Superclass";}
}
 
public class Subclass extends Superclass{
    //Zusätzliches Attribut
    public int attribute3;
    //Konstruktor
    public Subclass(){
        //Als erstes Konstruktor der Oberklasse aufrufen
        super(1);
        //Dann eigenes machen
        this.attribute3 = 3;
    }
    //Eigene zusätzliche Methode
    public int getAttribute2(){return super.attribute2;}
    //Methode der Oberklasse überschreiben
    public String getName(){return "Subclass";}
}
 
void main() {
    Subclass o1 = new Subclass();
    o1.getAttribute1(); //1
    //o1.attribute2; //Gibt es nicht
    o1.getAttribute2(); //2
    o1.getName(); //Subclass
    
    Superclass o2 = new Subclass();
    //o2.getAttribute2(); //Gibt es nicht
    o2.getName(); //Subclass
}