java8新特性-默认方法

做为一个java程序猿,常常会被问基础怎么样,对于这个问题,我理解的有两方面:一是对于java基础的理解和掌握,好比JDK的相关特性;二是工做的经历,毕竟,语言编程是一门实战性质的艺术,就算掌握了千万理论,编写不出实际的代码,等于扯淡。并且,随着技术的革新,不少东西都再也不是一成不变的,还记得刚出校门那会儿,面试官会问接口与类的区别啥的,大多人会回答:接口里面的全是抽象方法。这个回答在如今看来,或许已通过时了,随着JDK1.8的推出,接口里面也是能够有方法实现的。因此,在这里总结一下JDK1.8的几个经常使用的新特性,以备后用。java

java8默认方法经过default关键字实现,在接口中经过default修饰,从而实如今接口中有方法的目的。这个特性能够从某种程度上简化代码量,好比有一个方法,全部的实现都相同,在java8之前,咱们须要再接口的实现类中分别写些相同的代码,在java8及之后,咱们能够将这个方法抽出来,放在接口中经过default关键字修饰实现,从而简化了代码。面试

举个栗子:编程

定义接口Car,并实现通用方法engineide

 1 public interface Car {
 2     
 3     /**
 4      * @Description: Car引擎
 5      * @return
 6      */
 7     public default void engine() {
 8         System.out.println("all car must have a engine");
 9     }
10 
11     /**
12      * @Description: Car类型
13      * @return
14      */
15     public void type();
16 }

实现类:测试

1 public class SuvCar implements Car {
2 
3     @Override
4     public void type() {
5         System.out.println("I'm a suv car");
6     }
7 }

测试类:spa

1 public class Test {
2 
3     public static void main(String[] args) {
4         Car car = new SuvCar();
5         car.engine();
6         car.type();
7     }
8 }
相关文章
相关标签/搜索