title: static variables initialization
body: <p>Today I had a discussion with my colleague and concluded following points. Kindly throw some light if all are correct or some modification is required.</p>
  
  <ol>
  <li>When static constructor is not defined in class, static fields are initialized just before their use.</li>
  <li>When static constructor is defined in class, static fields are initialized just before their use or as part of (before) instance creation.</li>
  <li>If no static field is accessed within a static method and that static method is called. the static fields will be initialized only if static constructor is defined in that class.</li>
  <li>If possible static constructor should be avoided in a class.</li>
  </ol>