I want to know what exactly the output is when I do the following.
class Data {
int a = 5;
}
class Main {
public static void main(String[] args) {
data dObj = new data();
System.out.println(dObj);
}
}
I know it gives something related to object as the output in my case is data@1ae73783. I guess the 1ae73783 is a hex number. I also did some work around and printed
System.out.println(dObj.hashCode());
I got the number 415360643. I got an integer value. I don’t know what hashCode() returns, still out of curiosity, when I converted 1ae73783 to decimal, I got 415360643!
That’s why I am curious about what exactly is this number. Is this some memory location of Java’s sandbox or some other thing?
What happens is that the default
toString()method of your class is getting used. This method is defined as follows:The value returned by the default
hashCode()method is implementation-specific: