java 中使用匿名類直接new接口詳解及實(shí)例代碼
java:使用匿名類直接new接口
java中的匿名類有一個(gè)倍兒神奇的用法,見(jiàn)下面代碼示例:
package contract; public interface ISay { void sayHello(); }
上面是一個(gè)簡(jiǎn)單的接口,下面是如何使用:
package jimmy; import contract.ISay; public class Program { public static void main(String[] args) { ISay say = new ISay() { public void sayHello() { System.out.println("Hello java!"); } }; } }
初看上去,就好象在“不提供接口實(shí)現(xiàn)的情況下,直接new了一個(gè)接口實(shí)例”,對(duì)于C#er來(lái)說(shuō),有一種盡毀三觀的趕腳。
還好這只是假象,觀察bin目錄下的class輸出,會(huì)發(fā)現(xiàn)有一個(gè)類似Program1.class的文件,如果反編譯觀察一下,發(fā)現(xiàn)原來(lái)是編譯器自動(dòng)生成一個(gè)類Program1.class的文件,如果反編譯觀察一下,發(fā)現(xiàn)原來(lái)是編譯器自動(dòng)生成一個(gè)類Program1:
package jimmy; import contract.ISay; import java.io.PrintStream; class Program$1 implements ISay { public void sayHello() { System.out.println("Hello java!"); } }
如果有些場(chǎng)合,只需要臨時(shí)需要?jiǎng)?chuàng)建一個(gè)接口的實(shí)現(xiàn)類,上面的"技巧"可以用來(lái)簡(jiǎn)化代碼.
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
- Java通過(guò)匿名類來(lái)實(shí)現(xiàn)回調(diào)函數(shù)實(shí)例總結(jié)
- Java中匿名類的兩種實(shí)現(xiàn)方式
- java 內(nèi)部類(匿名類,匿名對(duì)象,靜態(tài)內(nèi)部類)詳解及實(shí)例
- 全面了解Java中的內(nèi)部類和匿名類
- Java通過(guò)接口實(shí)現(xiàn)匿名類的實(shí)例代碼
- 簡(jiǎn)單談?wù)刯ava中匿名內(nèi)部類構(gòu)造函數(shù)
- java匿名內(nèi)部類實(shí)例簡(jiǎn)析
- java中匿名內(nèi)部類詳解
- Java匿名對(duì)象與匿名內(nèi)部類
- Java匿名類,匿名內(nèi)部類實(shí)例分析
相關(guān)文章
編程語(yǔ)言榜單Java與Python并列第二!Julia下滑
日新月異的技術(shù)圈,隨著云、大數(shù)據(jù)、人工智能等主流技術(shù)的廣泛應(yīng)用,作為開(kāi)發(fā)利器的編程語(yǔ)言的最新發(fā)展趨勢(shì)也在無(wú)形中發(fā)生了變化,本文主要介紹了java、Python、Julia等語(yǔ)言在Resmonk榜單的排名2021-08-08簡(jiǎn)單了解Spring Cloud Alibaba相關(guān)知識(shí)
這篇文章主要介紹了簡(jiǎn)單了解Spring Cloud Alibaba相關(guān)知識(shí),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-10-10利用Java簡(jiǎn)單實(shí)現(xiàn)一個(gè)代碼行數(shù)統(tǒng)計(jì)器方法實(shí)例
這篇文章主要給大家介紹了關(guān)于如何利用Java簡(jiǎn)單實(shí)現(xiàn)一個(gè)代碼行數(shù)統(tǒng)計(jì)器的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11Java中過(guò)濾器、監(jiān)聽(tīng)器和攔截器的區(qū)別詳解
這篇文章主要介紹了Java中過(guò)濾器、監(jiān)聽(tīng)器和攔截器的區(qū)別詳解,有些朋友可能不了解過(guò)濾器、監(jiān)聽(tīng)器和攔截器的區(qū)別,本文就來(lái)詳細(xì)講一下,相信看完你會(huì)有所收獲,需要的朋友可以參考下2024-01-01String類下compareTo()與compare()方法比較
這篇文章主要介紹了String類下compareTo()與compare()方法比較的相關(guān)資料,需要的朋友可以參考下2017-05-05