java8新特性-默认方法
Posted funnyboy0128
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java8新特性-默认方法相关的知识,希望对你有一定的参考价值。
作为一个java程序猿,经常会被问基础怎么样,对于这个问题,我理解的有两方面:一是对于java基础的理解和掌握,比如JDK的相关特性;二是工作的经历,毕竟,语言编程是一门实战性质的艺术,就算掌握了千万理论,编写不出实际的代码,等于扯淡。而且,随着技术的革新,很多东西都不再是一成不变的,还记得刚出校门那会儿,面试官会问接口与类的区别啥的,大多人会回答:接口里面的全是抽象方法。这个回答在现在看来,或许已经过时了,随着JDK1.8的推出,接口里面也是可以有方法实现的。所以,在这里总结一下JDK1.8的几个常用的新特性,以备后用。
java8默认方法通过default关键字实现,在接口中通过default修饰,从而实现在接口中有方法的目的。这个特性可以从某种程度上简化代码量,比如有一个方法,所有的实现都相同,在java8以前,我们需要再接口的实现类中分别写些相同的代码,在java8及以后,我们可以将这个方法抽出来,放在接口中通过default关键字修饰实现,从而简化了代码。
举个栗子:
定义接口Car,并实现通用方法engine
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 }
测试类:
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 }
以上是关于java8新特性-默认方法的主要内容,如果未能解决你的问题,请参考以下文章