java8新特性_JAVA8十大新特性详解
生活随笔
收集整理的這篇文章主要介紹了
java8新特性_JAVA8十大新特性详解
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、接口的默認方法
Java 8允許我們給接口添加一個非抽象的方法實現,只需要使用 default關鍵字即可,這個特征又叫做擴展方法,示例如下:
interface Formula { double calculate(int a); default double sqrt(int a) { return Math.sqrt(a); }}Formula接口在擁有calculate方法之外同時還定義了sqrt方法,實現了Formula接口的子類只需要實現一個calculate方法,默認方法sqrt將在子類上可以直接使用。
Formula formula = new Formula() { @Override public double calculate(int a) { return sqrt(a * 100); }};formula.calculate(100); // 100.0formula.sqrt(16); // 4.0文中的formula被實現為一個匿名類的實例,該代碼非常容易理解,6行代碼實現了計算 sqrt(a * 100)。在下一節中,我們將會看到實現單方法接口的更簡單的做法。
譯者注: 在Java中只有單繼承,如果要讓一個類賦予新的特性,通常是使用接口來實現,在C++中支持多繼承,允許一個子類同時具有多個父類的接口與功能,在其他語言中,讓一個類同時具有其他的可復用代碼的方法叫做mixin。新的Java 8 的這個特新在編譯器實現的角度上來說更加接近Scala的trait。 在C#中也有名為擴展方法的概念,允許給已存在的類型擴展方法,和Java 8的這個在語義上有差別。
二、Lambda 表達式
首先看看在老版本的Java中是如何排列字符串的:
List names = Arrays.asList("peter總結
以上是生活随笔為你收集整理的java8新特性_JAVA8十大新特性详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android webview 监听js
- 下一篇: c winform 上传文件到mysql