title: Why are there no final interfaces in Java?
body: <p>Extending an interface simply adds additional operations to be defined in any implementors and cannot break any existing implementations (unlike extending a class).  But it <em>can</em> change (<strong>EDIT 3</strong> WHICH CONSTANTS) and hence the PERCIEVED value of constants (<strong>EDIT 2</strong> AS SEEN BY THE IMPLEMENTATION CLASSES).</p>
  
  <p>For instance, the following:</p>
  
  <pre><code>interface A {
    int TEST = 6;
  }
  
  interface B extends A {
    int TEST = 7;
  }
  
  public class InterfacesTest implements B {
    public static void main(final String[] args) {
      System.out.println(TEST);
    }
  }
  </code></pre>
  
  <p>yields 7, when perhaps the intent of interface <code>A</code> was that any implementation of <code>A</code> contain a <code>test</code> field valued at 6.</p>
  
  <p>If A were to be declared <strong>final</strong> we could be assured all implementations of <code>A</code> see the same value of <code>test</code>.</p>
  
  <p>So does anyone understand why this isn't possible?</p>
  
  <ul>
  <li><p>P.S.: This is <strong>NOT</strong> a duplicate of
  <a href="https://stackoverflow.com/questions/2971881/final-interface-in-java">this question</a>, I know they
  <em>can't</em> be final, I'm interested in the thinking behind the design
  decision that led to this outcome.</p></li>
  <li><p>P.P.S.: I understand constants in
  interfaces is usually a bad idea,
  that isn't the issue here.</p></li>
  </ul>
  
  <p><strong>EDIT:</strong> Please check the revision history, the title of this question was edited in a way which did not reflect the question's intent.  Sorry to everyone who answered the question I wasn't asking.  Yes, interface fields are implicitly public static final, unfortunately that's not what I'm interested in at all.</p>
  
  <p><strong>EDIT 2</strong> To be absolutely clear: this question is about why can't an interface block other interfaces from extending it (by being <em>final</em> or some equivalent).</p>