在JDK8中针对接口有做增强,在JDK8之前
interface 接口名{
静态常量;
抽象方法;
}
JDK8之后对接口做了增加,接口中可以有默认方法和静态方法
interface 接口名{
静态常量;
抽象方法;
默认方法;
静态方法;
}
在JDK8以前接口中只能有抽象方法和静态常量,会存在以下的问题: 如果接口中新增抽象方法,那么实现类都必须要抽象这个抽象方法,非常不利于接口的扩展的 接口中新增抽象方法,所有实现类都需要重写这个方法,不利于接口的扩展
接口中默认方法的语法格式是
interface 接口名{
修饰符 default 返回值类型 方法名{
方法体;
}
}
接口中的默认方法有两种使用方式
JDK8中为接口新增了静态方法,作用也是为了接口的扩展
interface 接口名{
修饰符 static 返回值类型 方法名{
方法体;
}
}
接口中的静态方法在实现类中是不能被重写的,调用的话只能通过接口类型来实现: 接口名.静态方法名();
想信小伙伴们会有这种疑问 那接口中的静态方法能不能被继承呢 就是类实现接口 还能不能调用接口中的静态方法呢
4两者的区别介绍