go to previous page   go to home page   go to next page hear noise

What type of parameter does the System.out.println() method expect?


It expects a reference to a String as a parameter.

Automatic Call of toString()

It looks like the following will not work:

Point a = new Point();  // a is a Point reference

System.out.println( a ); 
                    +--- should be String reference 

However, it does work, for the following reason:

When a parameter should be a String reference, but is a reference to another type of object, Java calls the object's toString() method to create a String and then uses the resulting String reference.

All objects (of any type at all) have their own toString() method, so this trick works with any object.


(Puzzle: ) Does a String object have a toString() method?