implicitly call a method
<p>I learn java by self, I trapped at point about <code>implicitly call another method</code> 
I can't figure out <code>how dealCard method call ToString method implicitly</code> 
  in Card Shuffling and Dealing Simulation.</p>

<pre><code> public class Card 
    {
       private String face;
       private String suit; 

       public String toString() 
       { 
          return face + " of " + suit;
       } // end method toString
}
</code></pre>

<p>// DeckOfCards class represents a deck of playing cards.</p>

<pre><code>import java.util.Random;

public class DeckOfCards
{
   public Card dealCard()
   {
      // determine whether Cards remain to be dealt
      if ( currentCard &lt; deck.length )
         return deck[ currentCard++ ];
      else        
         return null;
   } 
} 
</code></pre>

<p>// execute application</p>

<pre><code>public class DeckOfCardsTest
{
  public static void main( String[] args )
   {
      DeckOfCards myDeckOfCards = new DeckOfCards();
      myDeckOfCards.shuffle(); // place Cards in random order

      // print all 52 Cards in the order in which they are dealt
      for ( int i = 1; i &lt;= 52; i++ )
      {
         // dealCard method implicitly call ToString method 
         System.out.printf( "%-19s", myDeckOfCards.dealCard() );
      } 
</code></pre>