在interface里面的成员变量都是public static final 的。所有你可以这样写:
public static final int i=10;也可以这样写 int i =10(省略了public static final)
我们都知道Java不支持多继承,但是可以支持多实现。假设有两个接口A和B,而类C实现了这两个接口。此时接口A和接口B中都一个变量N,如果N不是static类型的,那么在C类中该如何区分N到底是A的还是B的呢?如果是static的话就不一样了,我们可以通过(类名.变量名)A.N和B.N来调用以此来区分是A或者是B中的变量N了。
如果变量不是final,那么每个实现接口的就可以改变这个变量的值,也就违反了OCP(Java设计六大原则之开闭原则)原则。
接口中的方法默认都是public、abstract类型的。接口没有构造方法,不能被实例化。一个接口不能实现另一个接口,但是它可以继承多个其他接口。接口中没有方法体