title: When should a method be static?
body: <p>In addition, are there any performance advantages to static methods over instance methods?</p>
  
  <p>I came across the following recently: <a href="http://www.cafeaulait.org/course/week4/22.html" rel="noreferrer">http://www.cafeaulait.org/course/week4/22.html</a> :</p>
  
  <blockquote>
    <p>When should a method be static?</p>
    
    <ol>
    <li>Neither reads from nor writes to instance fields</li>
    <li>Independent of the state of the object</li>
    <li>Mathematical methods that accept arguments, apply an algorithm to those
    arguments, and return a value</li>
    <li>Factory methods that serve in lieu of constructors</li>
    </ol>
  </blockquote>
  
  <p>I would be very interested in the feedback of the Stack Overflow community on this.</p>