References here mean the variable names. And Instances mean the actual object created with the "new" command.
The default implementation of equals() method (provided in the class Object)- checks if the 2 References are pointing to the same object on the heap.
You see that the default implementation doesnt actually check the contents of the objects these references point to, instead it just checks if these references point to the same object.
You can override the equals() method in your class and then provide a check to see if the contents are also equal.
my doubt is
for comparison of two String's equal method check the contents
will it compare form the hascode genrated
as when creating strings it will verify if it already exist in the String pool if not create the new one and store the address