Adressierung der toString()-Implementierung in Java
In Java können Sie mit der toString()-Methode eine benutzerdefinierte Darstellung eines Objekts als definieren eine Zeichenfolge. Seine Standardimplementierung stellt Klassen- und Identitätsinformationen bereit, kann aber für eine maßgeschneiderte Ausgabe überschrieben werden.
Proper toString() Override
Ihre Kid-Klasse versucht, einen Konstruktor zu verwenden in der toString()-Methode, was falsch ist. toString() sollte eine Zeichenfolgendarstellung zurückgeben und kein neues Objekt erstellen.
Um Ihren Code zu korrigieren, geben Sie eine Zeichenfolge zurück, die die Daten des Objekts enthält. Zum Beispiel:
public String toString() { return "Name: '" + this.name + "', Height: '" + this.height + "', Birthday: '" + this.bDay + "'"; }
Alternativ können Sie die Codegenerierungsfunktionen Ihrer IDE verwenden, um automatisch eine toString()-Methode zu erstellen. Klicken Sie beispielsweise in Eclipse mit der rechten Maustaste auf den Code und wählen Sie Quelle > Generieren Sie toString.
Fehlerbehebung beim Konstruktoraufruf
Der Konstruktor in Ihrer Kid-Klasse hat die falsche Syntax:
public Kid (String n, double h, String date) { // method that toString() can't find somehow StringTokenizer st = new StringTokenizer(date, "/", true); n = this.name; h = this.height; }
Die richtige Syntax für einen Konstruktor ist:
public Kid (String name, double height, String date) { this.name = name; this.height = height; // Parse date here }
Anruf toString()
Der Code in Ihrer Driver-Klasse ruft die toString()-Methode korrekt auf kid1 auf und gibt ihr Ergebnis aus:
System.out.println(kid1.toString());
Dadurch wird die benutzerdefinierte Zeichenfolgendarstellung ausgegeben Kid-Objekt, wie in der toString()-Methode angegeben.
Das obige ist der detaillierte Inhalt vonWie implementiert und ruft man die toString()-Methode in Java richtig auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!