Ich habe erst vor kurzem angefangen, Java zu lernen, und in meinem Lehrbuch bin ich auf this
gestoßen, was anfangs sehr verwirrend war, aber jetzt beginnt es Sinn zu ergeben. Nun, in meinem Buch wir gestartet grundlegende Anwendungen von Konstruktoren und als Randnotiz auf der Seite sagte this
, kann auch verwendet werden, um andere Konstruktoren aufzurufen. Ich war ein wenig verwirrt, dann Blick auf andere Fragen zu SO bezüglich this
. Ich denke, ich verstehe es jetzt schon, aber WARUM würde ich das jemals tun wollen? Betrachten Sie das Folgende, das ich gerade erfunden habe.Warum sollte ich jemals einen Konstruktor von einem anderen (Java) aufrufen?
private double balance;
private double interest;
public Account(double initialBalance){
balance = initialBalance;
}
public Account(double balance, double interest){
this(0);
balance = initialBalance;
this.interest = interest;
}
Hier this(0);
, um mein Verständnis für einen anderen Konstruktor mit einem Parameter sucht, findet Account(double initialBalance)
und setzt initialBalance
auf Null. Großartig. Ähm, aber warum sollte ich das nicht direkt machen? Stellen Sie den Saldo gleich Null ein! Ich bin mir sicher, dass es sehr nützlich ist, aber ich kann mir keine Beispiele vorstellen. Danke!
ob man es so schreiben oder nicht, sind Sie immer. Die erste Anweisung aus einem (ny) -Konstruktor besteht darin, einen/den Konstruktor der Elternklasse – Stultuske
@Stultuske aufzurufen. Dies hat nichts mit der Elternklasse zu tun. Kein Wortspiel beabsichtigt. – Zircon
@Zircon: Rufen Sie einen anderen Konstruktor ... was ist im Grunde, was ich beschrieben habe. Wenn es aus der gleichen Klasse stammt, ist der Code, den er gepostet hat, entweder nicht der Code aus seinem Buch, oder sie benutzten es als Beispiel dafür, was nicht zu tun ist, oder es ist ein beschissenes Buch. – Stultuske