providing a good toString implementation makes your class much more pleasant to use.
It is recommended that all subclasses override this method.
When practical, the toString method should return all of the interesting information contained in the object.