This is one of the basic question asked in interviews or in gatherings of professionals.
So here we go,
Main method is static in java because
This is just a convention. In fact, even the name main(), and the arguments passed in are purely convention.
java.lang.Object class defined like
public native int hashCode(); // without any body
Now, in spite of having two years of hands on experience in java and related technologies, I didn’t know that it is a native method. This made me dig deeper and explore the native interface API provided by java.