Let look at an
important method in the
Object class:
toString( )
The
toString() method in the
Object class
in
Java's library
The online documentation on
the Object class
can be found here:
The
most usefulinstance methoddefined in the
Object class is:
toString():
returns a
string representation of
this object
Every class in
Java will
inherit the
toString() method
Furthermore:
The System.out.print( )method
invokes the
toString( ) method
so it can
print outany object !
Therefore:
We can control the
print out of
an object by
overriding the
toString() in
a class !!
Using and
overriding the inherited
toString() method
Example that
shows that
the
GeometricObject classinherited the
toString() method
from the Object class
public class GeometricObject
{
private String color;
GeometricObject( String col )
{
color = col;
}
public String getColor()
{
return color;
}
public double getArea() // Dummy method
{
return 0; // Some default value
}
// No "toString()" method defined !// Inherits "toString()" from Object !
}
public class myProg
{
public static void main(String[] args)
{
GeometricObject a =
new GeometricObject("red");
// We can call the toString() method // using a GeometricObject object
System.out.println( a.toString( ) );
}
}
DEMO:
demo/04-inheritance/15-toString
Using and
overriding the inherited
toString() method
Example that
shows that
the
Circle classalsoinherited the
toString() method:
public class Circle extends GeometricObject
{
private double radius;
Circle(String col, double r)
{
super(col);
radius = r;
}
public double getRadius()
{
return radius;
}
public double getArea()
{
return 3.14159*radius*radius;
}
// Inherits "toString()" from GeomObject
}
public class myProg
{
public static void main(String[] args)
{
Circle a =
new Circle("red", 2.0);
// We can call the toString() method // using a Circle object
System.out.println( a.toString( ) );
}
}
DEMO:
demo/04-inheritance/16-toString
Using and
overriding the inherited
toString() method
We can override the
inheritedtoString()
method
to print out an
object in a
more suitableformat:
public class Circle extends GeometricObject
{
private double radius;
Circle(String col, double r)
{
super(col);
radius = r;
}
...
// Override the "toString()" method
public String toString()
{
return "Color = " + getColor()
+ " : "
+ "radius = " + radius;
}
}
public class myProg
{
public static void main(String[] args)
{
Circle a =
new Circle("red", 2.0);
// We can call the toString() method // using a Circle object
System.out.println( a.toString( ) );
System.out.println( a ); // Same !
}
}