title: same final variable declared in two interface and implemented in one class
body: <p>Hi I have two interface <strong>Ainterface</strong> and <strong>Binterface</strong> having same static final variable as '<strong>i</strong>' which is declared as <strong>10</strong> and <strong>20</strong> respectively, I am implementing these two interfaces two my class <strong>InterfaceCheck</strong> where I am declaring same interface variable as static and final and initialized to <strong>30</strong>.  When I try to print the value of <strong>i</strong> in my class I am getting 30 as output. can some one explain me why I am able to reinitialize <strong>i</strong>  to some other value even though its a final variable.</p>
  
  <p><strong>CODE</strong></p>
  
  <pre><code>public interface Ainterface {
  
      public final static int i=10;
  
  }
  
  public interface Binterface {
  
      public static final int i=20;
  
  }
  
  
  public class InterfaceCheck implements Ainterface,Binterface {
  
      public static final int i=30;   
  
      public static void main(String[] args) {        
          System.out.println(i);
      }
  
  }
  </code></pre>
  
  <p><strong>>> output : 30</strong></p>