版权声明:署名,允许他人基于本文进行创作,且必须基于与原先许可协议相同的许可协议分发本文 (Creative Commons)
一:官方定义
默认方法和静态方法。默认方法使得接口有点类似traits,不过要实现的目标不一样。默认方法使得开发者可以在 不破坏二进制兼容性的前提下,往现存接口中添加新的方法,即不强制那些实现了该接口的类也同时实现这个新加的方法。好吧,相较于前面2个我真不知道这个新特性有什么具体的意义,翻遍整个资料也没有发现。
二:代码解析
1.定义接口中的默认方法和静态方法:注意,命名必须规范
public interface TestInterface {
public interface JDK8Interface {
//静态方法的命名
public static void staticMethod(){
System.out.println("接口的静态方法");
}
//默认方法的命名
public default void defaultMethod(){
System.out.println("接口的默认方法");
}
}
}
2.接口的实现:默认方法不一定要实现重写
public class TestImpl implements TestInterface{
//默认方法不一定要实现
}
3.接口的调用
public static void main(String[] args) {
//静态方法直接到接口名.方法名调用
TestInterface.staticMethod();
//默认方法必须通过实现类调用
TestInterface test=new TestImpl();
test.defaultMethod();
}