java函数式 new_java8简单入门--函数式接口 @FunctionalInterface
1、介紹
看了幾篇關(guān)于 java8 入門的例子,其中引入了許多令人期待已久的特性(雖然我沒有過這樣的體會(huì)),但不管你的代碼是普通青年款還是文藝青年款,你都可以從被 java8 的重新組織的代碼看到她的簡潔之處,不得不讓我對(duì)這些新入貴圈(java圈)的小鮮肉做一些記錄,以便我能很好的利用他們。
最大的一個(gè)特點(diǎn)莫非就是引入了“函數(shù)式”編程這一個(gè)概念(都是剽竊的別的語言來的),還有那么多新奇的詞語,比如“語法糖”“閉包”“顯式|隱式函數(shù)”等這里我就不再一個(gè)一個(gè)去體會(huì)了,這里屬于初次接觸,先理解會(huì)用為主,細(xì)節(jié)的深入待后期慢慢琢磨。
2、函數(shù)式接口 -- @Functionnalinterface
在翠花正式上代碼示例之前,我們現(xiàn)來對(duì)這個(gè)函數(shù)式接口有個(gè)認(rèn)識(shí):
接口必須只有一個(gè)抽象方法;
接口可以有其他的默認(rèn)(default)或者靜態(tài)(static)方法;
接口默認(rèn)繼承了 Object 類,所以接口中不能覆蓋了 Object 中的方法;
說明:該注解不是必須的,如果一個(gè)接口滿足“函數(shù)式接口”特性,那么不加這個(gè)注解也沒有影響,加上該注解能夠更好的讓編譯器檢查,如果不符合規(guī)范將會(huì)報(bào)編譯錯(cuò)誤。
比如在 jdk8 中就對(duì)Comparator、Callable、Runnable等接口加上了該注解,下面兩段代碼的效果是一樣的:
1 public static voidrunThreadByLambda() {2 Runnable runnable = () -> System.out.println("這個(gè)是用拉姆達(dá)實(shí)現(xiàn)的線程");3 newThread(runnable).start();4 }5
6 //---------------------------------------------------------------------------------
7 public static voidrunThreadByInnerClass() {8 Runnable runnable = newRunnable() {9 @Override10 public voidrun() {11 System.out.println("這個(gè)是用內(nèi)部類實(shí)現(xiàn)的線程");12 }13 };14 newThread(runnable).start();15 }
總結(jié)
以上是生活随笔為你收集整理的java函数式 new_java8简单入门--函数式接口 @FunctionalInterface的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java下载pdf6_疯狂java讲义第
- 下一篇: java代码逻辑讲解_java逻辑控制语