title: private static final fields
body: <p>I just would like to clarify this. What is the difference between - </p>
  
  <pre><code>private static int STUDENT_AGE = 18; 
  </code></pre>
  
  <p>and</p>
  
  <pre><code>private static final int STUDENT_AGE = 18; 
  </code></pre>
  
  <p>within the field?</p>
  
  <p>Jon Skeet explained as "not related to a particular instance at all", ok I think I understand it. Then what does final do in this case exactly? </p>
  
  <p>Below code does not work is it because student age is assigned as static final? Does it mean the default age can not be overwritten at all? then is it possible to create the constructor that specify an age other than the default?</p>
  
  <pre><code>private String myName;
  private String myAddress;
  private int myYearEnrolled;
  private String myGender; 
  private static final int STUDENT_AGE = 18; 
  
  public Student(String name, String address, int year, String gender) {
      myName = name;
      myAddress = address;
      myYearEnrolled = year;
      myGender = gender; 
  }
  
     public Student(int age)
  {
       STUDENT_AGE = age; 
  }
  </code></pre>