这个问题其实倒没有说什么为什么,可以说是一种标准吧,JAVA里面的接口是让别的类去实现的,所以接口必须稳定,一旦发布出接口,那就不允许改变了所以定为final别的类或者什么都不可以对这个接口进行修改,
谁说默认会加 static final了?
在方法里
public是必须的,因为要允许任何类来实现访问它。
如果更不可能加final了。如果加了final的话它的实现类怎么去实现这个方法?编译都不能通过。
再说static 如果是默认加上的话。你随便写个interface,比如叫MyInterFace,里面随便加一个void test();方法声明,你在main方法里调用?看看能不能用MyInterFace.test()??答案是肯定不行,不行代表什么?就是没有加上static修饰
只是public是必须的。 static可选,final不可能
接口是特殊的抽象类,楼主你说错了吧,接口是public abstract
因为java是单继承的语言,为了解决java单继承带来的问题,所以接口是可以有多个实现类的,也相当于变相的实现了多继承
跟接口的作用和特点有关,具体你看下JAVA方面的教材吧