title: public static final variable in an imported java class
body: <p>I happen to come across a Java code at my work place. Here's the scenario: There are 2 classes - <code>ClassA</code> and <code>ClassB</code>.</p>
  
  <p><code>ClassA</code> has nothing except 4 public static final string values inside it. Its purpose is to use those values like <code>ClassA.variable</code> (don't ask me why, it's not my code).</p>
  
  <p><code>ClassB</code> imports <code>ClassA</code>. I edited the string values in <code>ClassA</code> and compiled it. When I ran <code>ClassB</code> I could see it was using the old values - not the new values. I had to recompile <code>ClassB</code> to make it use new values from <code>ClassA</code>! (I had to recompile other classes that imports <code>ClassA</code>!)</p>
  
  <p>Is this just because of JDK 1.6 or I should have known earlier to recompile <code>ClassB</code> also! Enlighten me. :)</p>