JDK1.8的新特性----default关键字
2018-11-06 17:14
183 查看
default关键字
在java里面,我们通常都是认为接口里面是只能有抽象方法,不能有任何方法的实现的,那么在jdk1.8里面打破了这个规定,引入了新的关键字default,通过使用default修饰方法,可以让我们在接口里面定义具体的方法实现,如下。
public interface NewCharacter {
public void test1(); public default void test2(){ System.out.println("我是新特性1"); }
}
那这么定义一个方法的作用是什么呢?为什么不在接口的实现类里面再去实现方法呢?
其实这么定义一个方法的主要意义是定义一个默认方法,也就是说这个接口的实现类实现了这个接口之后,不用管这个default修饰的方法,也可以直接调用,如下。
public class NewCharacterImpl implements NewCharacter{
@Override public void test1() { } public static void main(String[] args) { NewCharacter nca = new NewCharacterImpl(); nca.test2(); }
}
所以说这个default方法是所有的实现类都不需要去实现的就可以直接调用,那么比如说jdk的集合List里面增加了一个sort方法,那么如果定义为一个抽象方法,其所有的实现类如arrayList,LinkedList等都需要对其添加实现,那么现在用default定义一个默认的方法之后,其实现类可以直接使用这个方法了,这样不管是开发还是维护项目,都会大大简化代码量。
阅读更多相关文章推荐
- jdk1.8 新特性之 default,static 接口关键字
- Java还要再学一遍基础(四)JDK1.8新特性default,static
- jdk1.8新特性之接口默认方法default
- jdk1.8新特性
- jdk1.8新特性Lambda表达式
- JDK1.5~1.8新特性
- JDK1.8的十大新特性总结
- JDK1.8特性
- jdk1.8新特性-接口
- jdk1.8 date新特性
- JDK1.8新特性--Lambda 表达式
- jdk1.8新特性之方法引用
- JDK1.8新特性
- 记录JDK 1.8 新特性
- jdk 1.8 新特性之——stream Collectors
- JDK1.7/1.8新特性详解
- JDK 1.5-1.8特性
- JDK1.8新特性
- jdk1.8新特性
- jdk1.8 新特性之 forEach 循环遍历