What type of parameter does the System.out.println() method expect?
It expects a reference to a String as a parameter.
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 a String reference, but a reference to
another type of object is given, Java will call the object's toString()
method to get a String reference.
All objects (of any type at all) have a toString()
method, although
for some objects it is not very useful.