9.6 The Object Class
There is one special class, Object, defined by Java. All other classes are subclasses of Object. That is, Object is a super class of all other classes. This means that a reference variable of type Object can refer to an object of any other class.
Object defines the following methods, which means that they are available in every object.
Method | Purpose |
public Object() | Constructor |
public String toString() | Method to return a string to describe the object |
public boolean equals(Object obj) | Method to determine if two objects are the same. Returns true if the object invoking the method and the object specified by the parameter obj refer to the same memory space otherwise it returns false. |
protected Object clone() | Method to return a reference to a copy of the object invoking this method |
protected void finalize() | The body of this method is invoked when the object goes out of scope. |
Program (Rectangle.java)
public class Rectangle
{
private double length;
private double width;
public Rectangle(double length, double width)
{
this.length = length;
this.width = width;
}
}
Program (ObjectMethod.java)
/**
* This program demonstrates the equals
* methods that is inherited from the Object class.
*/
public class ObjectMethod
{
public static void main(String[] args)
{
// Create two objects.
Rectangle rectangle1 = new Rectangle(12, 15);
Rectangle rectangle2 = new Rectangle(12, 15);
// Test the equals method.
if (rectangle1.equals(rectangle2))
System.out.println("The two are the same.");
else
System.out.println("The two are not the same.");
}
}
Output :
The two are not the same.
If you wish to change the behavior of either of these methods for a given class, you must override them in the class.