Como sobrescrever toString () corretamente em Java?
Soa um pouco idiota, mas preciso de ajuda na minhatoString()
método e é muito irking. Eu tentei procurar on-line porque otoString
é aquele em que ele está estragando tudo e "não encontrando o Kid constructor # 2" mesmo estando lá e eu até faria outra coisa e não funciona. Ok, isso foi muito, então aqui está o meu código:
import java.util.*;
class Kid {
String name;
double height;
GregorianCalendar bDay;
public Kid () {
this.name = "HEAD";
this.height = 1;
this.bDay = new GregorianCalendar(1111,1,1);
}
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;
}
public String toString() {
return Kid(this.name, this.height, this.bDay);
}
} //end class
Ok Então meu toString acima (eu sei, meu terceiro parâmetro está desligado, deveria ser um String) está desligado. Se eu codificar um valor para a terceira coisa, vai mal e diz que não pode encontrar isso (acima). Então, como posso obter a data e separá-la?
Classe chamando isso está abaixo
class Driver {
public static void main (String[] args) {
Kid kid1 = new Kid("Lexie", 2.6, "11/5/2009");
System.out.println(kid1.toString());
} //end main method
} //end class
Eu tentei pesquisar vários construtores e isso realmente não ajudou. Eu tentei pesquisartoString()
métodos, e tentou usar anteriortoString()
lógica de métodos que eu criei anterior, mas isso é novo, então nunca funcionou.
Socorro?