Könnt ihr mir bitte Links/Quellen/Stichwörter nennen, die folgenden Testcode/Ausgabe erklären?
---------------------------------
Mir ist soweit klar,dass innerhalb von "Vater" es keinen Unterschied macht, ob ich ruecken() oder this.ruecken() aufrufe. Es wird immer die überschriebene Methode von der aktuellen Instanz verwendet. Gibt es denn eine Möglichkeit in Java dieses zu verhindern? (Wüsste nicht wie, da es der Vererbungslehre wiederspricht!?)
Und nun noch kurz zu den Variablen "alter". Gilt hier keine Vererbungstheorie?
Grüße Oekel
Java:
package testVererbung;
public class main {
public static void main(String[] args) {
Grossvater person = new Kind();
System.out.println(person); //wandern mit 40 und geradem Rücken
System.out.println(person.alter);//80
}
}
public class Grossvater {
int alter = 80;
public String ruecken() {
return "kaputtem";
}
}
public class Vater extends Grossvater {
int alter = 40;
public String wandern()
{
return "wandern mit "+alter+" und "+this.ruecken() +" Rücken";
}
public String ruecken() {
return "krummen";
}
public String getAlter()
{
return ""+this.alter;
}
}
public class Kind extends Vater {
int alter = 16;
public String toString()
{
return super.wandern();
}
public String wandern()
{
return "wandern mit "+getAlter()+"und "+this.ruecken();
}
public String ruecken() {
return "geradem";
}
}
---------------------------------
Mir ist soweit klar,dass innerhalb von "Vater" es keinen Unterschied macht, ob ich ruecken() oder this.ruecken() aufrufe. Es wird immer die überschriebene Methode von der aktuellen Instanz verwendet. Gibt es denn eine Möglichkeit in Java dieses zu verhindern? (Wüsste nicht wie, da es der Vererbungslehre wiederspricht!?)
Und nun noch kurz zu den Variablen "alter". Gilt hier keine Vererbungstheorie?
Grüße Oekel
Zuletzt bearbeitet von einem Moderator: