title: In Java, is there any disadvantage to static methods on a class?
body: <p>Lets assume that a rule (or rule of thumb, anyway), has been imposed in my coding environment that any method on a class that doesn't use, modify, or otherwise need any instance variables to do its work, be made static.  Is there any inherent compile time, runtime, or any other disadvantage to doing this?</p>
  
  <p>(edited for further clarifications)</p>
  
  <p>I know the question was somewhat open ended and vague so I apologize for that.  My intent in asking was in the context of mostly "helper" methods.  Utility classes (with private CTORs so they can't be instantiated) as holders for static methods we already do.  My question here was more in line of these little methods that HELP OUT the main class API.</p>
  
  <p>I might have 4 or 5 main API/instance methods on a class that do the real work, but in the course of doing so they share some common functionality that might only be working on the input parameters to the API method, and not internal state.  THESE are the code sections I typically pull out into their own helper methods, and if they don't need to access the class' state, make them static.</p>
  
  <p>My question was thus, is this inherently a bad idea, and if so, why? (Or why not?)</p>