0% completed
The Object
class is the superclass of all classes in Java. This means that every class you create in Java inherits from Object
, either directly by extending it or indirectly through another superclass. As the root of the class hierarchy, Object
provides a set of universal methods that are available to all Java objects, regardless of their specific types.
Object
, ensuring that all objects have a common set of behaviors.Object
defines fundamental methods that facilitate basic object operations, such as comparison, hashing, cloning, and string representation.Object
class does not contain any instance variables. Its primary purpose is to provide method implementations that can be overridden by subclasses.The Object
class defines several important methods that every Java object inherits. Understanding these methods and how to override them is vital for customizing object behavior.
Method | Purpose | Default Behavior |
---|---|---|
toString() | Returns a string representation of the object. | Returns a string consisting of the class name, @ , and the object's hash code in hexadecimal. |
equals(Object obj) | Determines whether another object is "equal to" this one. | Checks for reference equality (i.e., whether both references point to the same object). |
hashCode() | Returns an integer hash code value for the object. | Provides a hash code based on the object's memory address. |
clone() | Creates and returns a copy of the object. | Performs a shallow copy of the object. Requires implementing the Cloneable interface to avoid CloneNotSupportedException . |
getClass() | Returns the runtime class of the object. | Returns the Class object that represents the object's class. |
finalize() | Called by the garbage collector on an object when garbage collection determines there are no more references to the object. | Intended for cleanup operations before the object is removed from memory. (Deprecated in Java 9 and later) |
Below is a complete Java example demonstrating how to override the toString()
and equals()
methods.
Car
Class:
Fields:
Encapsulates brand
, model
, and year
as private attributes.
Constructor:
Initializes the Car
object with specified attributes.
Overridden toString()
Method:
Provides a readable string representation of the Car
object.
Overridden equals(Object obj)
Method:
Determines equality based on brand
, model
, and year
.
Overridden hashCode()
Method:
Generates a hash code consistent with the equals()
method.
main
Method:
Creating Objects:
Instantiates three Car
objects, with car1
and car2
having identical attributes.
Using toString()
:
Printing car1
displays its string representation.
Comparing Objects:
car1.equals(car2)
returns true
since they have the same attribute values, while car1.equals(car3)
returns false
.
Using in a HashSet
:
Adding car1
, car2
, and car3
to a HashSet
results in only two unique entries (car1
and car3
) because car1
and car2
are considered equal.
The Object
class serves as the foundational building block for all Java classes, providing a set of universal methods that facilitate object manipulation and interaction. By understanding and effectively overriding methods like toString()
, equals()
, and hashCode()
, developers can ensure that their objects behave predictably and integrate seamlessly with Java's core frameworks and collections.
.....
.....
.....