溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java中的接口能夠被實例化嗎

發(fā)布時間:2020-10-07 13:42:44 來源:腳本之家 閱讀:194 作者:wolf小狼崽 欄目:編程語言

寫在前面的話

學習java這么久了,好像已經習慣了new對象,平時new對象主角是類(class)。乍一聽對接口(interface)實例化,這這這可能嗎,怕不是瘋了!下文首先通過在IDEA中編寫代碼演示說明,然后分析怎樣操作才能對接口進行實例化。希望博主的博文能夠對java學習道路上的你有所幫助,喜歡的話點贊留言收藏哦~

1、在IDEA中進行代碼演示

直接用平時new類(class)對象的方式對接口進行操作,達不到效果,IDEA提示:Runnable' is abstract; cannot be instantiat(接口不能被實例化)!演示圖如下:

java中的接口能夠被實例化嗎

難道接口就不能通過new進行實例化了嗎?其實不然,接口可以進行實例化,只需要在new后將接口中未實現的方法進行實現就好,這種做法其實是匿名內部類的做法,本質上講還是類的實例化。具體演示如下:

java中的接口能夠被實例化嗎

上述演示表示了如何對接口進行new,從而創(chuàng)建實例!寫到這里基本主題已經結束了,但是注意到上圖java中的接口能夠被實例化嗎中new Runnable()是灰色的,IDEA提示:需要使用lambda表達式來代替匿名內部類。

java中的接口能夠被實例化嗎

下面使用lambda表達式進行改寫,演示如下:

java中的接口能夠被實例化嗎

2、總結         

java中接口可以通過在new對象的時候,以匿名內部類(lambda表達式)的方式實現未實現的方法,從而來達到new對象的效果!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI