I think you're confusing Java with C# or C++. Java does not offer operator overloading i.e you cannot define the way operators work on different types.
static functions exist before any objects are created. So you can call a static method before you create any objects of that class as shown below:
However you need to remember that static methods behave differently than instance methods when involved with inheritance and polymorphism:
Now inside main if you write something like this:
It would print "Inside SuperClass" instead of "Inside SubcCass". Static methods are not involved in polymorphism!
Hope this helped!!