接口里的方法
接口里的方法
我们通常所说的接口的作用是用于定义一套标准、约束、规范等,接口中的方法只声明方法的签名,不提供相应的方法体,方法体由对应的实现类去实现。
在JDK1.8中打破了这样的认识,接口中的方法可以有方法体,但需要关键字static或者default来修饰,使用static来修饰的称之为静态方法,静态方法通过接口名来调用,使用default来修饰的称之为默认方法,默认方法通过实例对象来调用。
做个实验,分别用1.7和1.8版本的jdk进行实验来进行判断接口中的方法体 jdk1.7版本jdk1.8版本
public static void main(String[] args) {
//jdk中的方法体
Test2 t = new Test2();
Inner i = new Inner() {
@Override
public void f() {
Inner.super.f();
}
};
i.f();
System.out.println("end");
}
interface Inner{
//定义了一个接口
default void f() {
System.out.println("this is interface method");
}
}



