I have one more point  to prove why interface methods can not be static :
interface MyInterface {
        static void myStaticMethod();    
}
Now let's have two classes   are implementing "MyInterface"
// first class
class MyClass1 implements MyInterface {
static void myStaticMethod(){
// some implementation 
    } 
}
// second class
class MyClass2 implements MyInterface {
static void myStaticMethod(){
// some implementation 
    } 
}
Now I am instantiating like below: 
1- MyInterface myObj1 = new MyClass1();
2- myObj1.myStaticMethod();
3- MyInterface myObj2 = new MyClass2();
4- myObj2.myStaticMethod();
// here at line 2 & 4 , it's   wrong calling as myStaticMethod should be called using class name(because myStaticMethod  is defined as static)  like below:
MyInterface.myStaticMethod();--> But in this case,how to call different implementations of myStaticMethod() by MyClass1 & MyClass2 classes.
So it's proved that static can not be possible in interface method declaration.
For final ,it's quite clear that it will  opposite to override functionality.