title: Java coding convention about static method
body: <p>It is a very simple question, but I think it is a little bit controversial.</p>
  
  <p>When I code Java classes I use the following order.</p>
  
  <pre><code>class Foo {
  
      // static fields
      // instance fields
      // constructors
      // methods (non-static and static methods are mixed but sorted based on their functionalities)
  }
  </code></pre>
  
  <p>I read an article that says:<br>
  (From <a href="http://code.google.com/webtoolkit/makinggwtbetter.html#codestyle" rel="noreferrer">http://code.google.com/webtoolkit/makinggwtbetter.html#codestyle</a>)</p>
  
  <p>Java types should have the following member order:</p>
  
  <p>Nested Types (mixing inner and static classes is okay)<br>
  Static Fields<br>
  Static Initializers<br>
  Static Methods<br>
  Instance Fields<br>
  Instance Initializers<br>
  Constructors<br>
  Instance Methods</p>
  
  <p>If I follow the article, the order above should be</p>
  
  <pre><code>class Foo {
  
      // static fields
      // static methods
      // instance fields
      // constructors
      // instance methods
  }
  </code></pre>
  
  <p>In the case of the latter, I feel uncomfortable having some methods before constructors.
  Which one is the more widely-used convention?</p>