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?

questionAnswers(11)

yourAnswerToTheQuestion