Hallo,
ich habe eine Frage bezüglich der Vererbung in Java. In Java wird ja, wenn ich den Konstruktor einer Unterklasse aufrufe, automatisch ebenfalls der Konstruktor der Oberklasse aufgerufen. Initialisiert dieser Kosntruktor der Oberklasse auch private Attribute? Wenn ja, wäre das ja unnötig, da die Unterklasse sowieso keinen Zugriff auf die Oberklasse hat.
Um meine Frage zu verdeutlichen, hab ich ein Beispiel gemacht:
public class Oberklasse {
private int number;
Oberklasse () {
number = 10;
}
}
public class Unterklasse extends Oberklasse {
private int number2;
Unterklasse () {
number2 = 13;
}
}
Alles anzeigen
Wird bei folgendem Befehl in der main-Klasse
nun sowohl number1, als auch number2 initalisiert?
Wird für beide Variablen Speicher gebraucht?
Wäre es besser, Unterklasse NICHT von Oberklasse erben zu lassen, wenn nur ein logischer Zusammenhang besteht (z.B. "Card" erbt von "Deck"), Unterklasse aber nie auf Attribute oder Methoden von Oberklasse zugreifen muss?