JDK 7
接口(interface)在JDK7及之前的版本对接口的要求:
接口定义:
- 使用 interface 关键字 。
- 接口中的 所有
成员变量都默认是由 public static final 修饰的
。 - 接口中的 所有
方法都默认是由 public abstract 修饰
的。也可以使用 protected ,但不能用 private 。 - 接口中的
所有方法都没有方法体
。 接口没有构造方法
。因为构造方法用于创建对象。实现接口的类 必须提供接口中所有方法的具体实现内容
。
可声明 静态常量、属性和 抽象方法:
全局变量( public static final )和 抽像方法( public abstract method() )
interface A {
//默认采用public static final
Integer num = 1;
/**
* 抽象方法
* 默认采用public abstract
*/
void test();
}
JDK8
在 JDK7 的基础上可以声明 静态方法 和 默认方法,必须写方法体
接口定义:
默认方法
用于接口的扩展,实现类可用,可重写
。静态方法
用于接口的扩展,接口类名直接调用,实现类不可调用,不可重写
。
interface A {
//默认采用public static final
Integer num = 1;
/**
* 抽象方法
* 默认采用public abstract
*/
void test();
/**
* 默认方法
*/
default void test1() {//方法1...}
/**
* 静态方法
*/
static void test2() {//方法2...}
}