Probably the answer is yes. If you have an instance method that does not actually take advantage of the state of the instance, then it should probably be static and possibly be ported to a helper class depending on what it does.
Note that even if you do not gain access to instance variables, access to instance methods will also disqualify the method from static . In addition, if this method is an instance method to ensure its future (in anticipation of using the state of the instance later), then changing it is also impractical.
It is also important that public non-static methods can be inherited and overridden by a subclass, so making them static can really break the code, possibly in unexpected ways.
source share