Should class methods be made static in all cases if they don't use absolutely any class fields?
Are there exceptions? According to my logic, if a class method does not use any of its fields, then it must be static. Right?
Should class methods be made static in all cases if they don't use absolutely any class fields?
Are there exceptions? According to my logic, if a class method does not use any of its fields, then it must be static. Right?
If a method doesn't use any instance variables in it's containing class then it doesn't have to be static, but it should be. As a general rule, if a method doesn't require a class instantiation to be used then it should be extracted to a utility class/interface as a static method.