Переменные-члены интерфейса должны быть окончательными… Почему?

У меня есть вопрос: почему переменная-член в интерфейсе не может быть непостоянной. Логика статичности стояла прямо передо мной, что если кому-то нужно получить доступ к переменной интерфейса, то это необходимо для этого быть статичным, так как мы не можем создать экземпляр интерфейса, но почему возникает необходимость в финале?? В приведенном ниже коде показано, как переменные-члены интерфейса становятся статическими и окончательными, хотя мы не упоминаем об этом по умолчанию....

interface inter{

       int a=10; // It becomes final static by default

       public void interFunc();
} 

class cls implements inter{

       public void interFunc(){

           System.out.println("In Class Method WITH a's Value as --> "+a);
       }
}

class Test{

       public static void main(String[] args){

           inter in= new cls();

           in.interFunc();      
           }
}

Заранее спасибо !!!

7
задан AnkitChhajed 16 August 2012 в 05:26
поделиться