Hallo, ich habe jetzt lange über super und this gelesen und denke eigentlich schon, die Konzepte verstanden zu haben. Trotzdem bleibt folgende Frage ...:
Ich befinde mich in einer erbenden Klasse, z. B. MyFrame, und möchte im Konstruktor eine Methode, z. B. setSize(50, 50) aufrufen.
Nun möchte ich möglichst sauberes Java programmieren und weiß, dass ich eine Methode immer für ein Objekt aufrufe.
Also wäre es doch konsequent, this.setSize(50, 50) zu schreiben, weil mir this die Referenz auf das Objekt, in dem ich mich befinde, liefert; für dieses möchte ich die Größe ändern.
Genauso könnte ich aber auch sagen, die Methode setSize(…) steht in der Oberklasse, ich möchte ganz explizit programmieren und daher super.setSize() schreiben und damit angeben, dass die Methode der Oberklasse gewählt werden soll. Für welches Objekt aber?
Wäre nicht ein this.super.setSize(…) logisch??
Ich befinde mich in einer erbenden Klasse, z. B. MyFrame, und möchte im Konstruktor eine Methode, z. B. setSize(50, 50) aufrufen.
Nun möchte ich möglichst sauberes Java programmieren und weiß, dass ich eine Methode immer für ein Objekt aufrufe.
Also wäre es doch konsequent, this.setSize(50, 50) zu schreiben, weil mir this die Referenz auf das Objekt, in dem ich mich befinde, liefert; für dieses möchte ich die Größe ändern.
Genauso könnte ich aber auch sagen, die Methode setSize(…) steht in der Oberklasse, ich möchte ganz explizit programmieren und daher super.setSize() schreiben und damit angeben, dass die Methode der Oberklasse gewählt werden soll. Für welches Objekt aber?
Wäre nicht ein this.super.setSize(…) logisch??