
Christopher S. answered 05/06/19
Christo: Online programming and Computer Literacy tutor
Static methods are not part of an object's individual state, but rather are used by the class as a whole. To put this in a more simple way, the instance of a class object is different than the generic class object, and an instance holds non-static methods while the generic class holds the static methods.
This allows for the calling of a static method without needing an instance variable of the class like:
assuming Car is a class and getColor() is a static method in the class. The alternative would be...
That being stated, the static methods are handled in memory differently and overriding this would have to change that memory making the getColor() method be overridden for all Car objects rather than just one instance.