What type of parameter does the System.out.println()
method expect?
Answer:
It expects a reference to a String as a parameter.
Automatic Call of toString()
Actually, System.out.println() can deal with several types of parameters,
and one of them is reference to a String.
No version of System.out.println() was written to use a Point reference, however.
So the following does not look like it will 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 aStringreference, but is a reference to another type of object, Java calls the object'stoString()method to create aStringand then uses the resultingStringreference.
All objects (of any type at all) have their own toString() method,
so this trick works with any object.
QUESTION 10:
(Puzzle: ) Does a String object have a toString() method?