jdk1.7以及以前:
可声明静态常量属性和抽象方法:
public interface Int1 {
static final int x=0;
int y=0;//默认static final
public abstract void Test1();
abstract void test2();
void test3() ;//默认 public abstract
}
jbk1.8:
在1.7的基础上可以声明静态方法和默认方法
public interface Int1 {
static final int x=0;
int y=0;//默认static final
public abstract void Test1();
abstract void test2();
void test3() ;//默认 public abstract
//静态方法和默认方法必须写方法体
public static void test4() {
System.out.println("静态方法");
}
default void test5() {
System.out.println("默认方法");
}
}
jdk9:
基于1.8增加了私有方法的声明
private static void Test6(){
}
注意:
1. 实现接口的类(非抽象类)必须实现接口中所有的抽象方法。
2. 接口中的静态方法,只能使用接口名称调用。
3. 接口中default方法属于实现接口类的对象方法,可以重写。
4. 接口中的private static方法只能在接口内调用。
5. 继承的接口实现子接口的抽象方法需要加dafault