您好,登錄后才能下訂單哦!
寫在前面的話
學習java這么久了,好像已經習慣了new對象,平時new對象主角是類(class)。乍一聽對接口(interface)實例化,這這這可能嗎,怕不是瘋了!下文首先通過在IDEA中編寫代碼演示說明,然后分析怎樣操作才能對接口進行實例化。希望博主的博文能夠對java學習道路上的你有所幫助,喜歡的話點贊留言收藏哦~
1、在IDEA中進行代碼演示
直接用平時new類(class)對象的方式對接口進行操作,達不到效果,IDEA提示:Runnable' is abstract; cannot be instantiat(接口不能被實例化)!演示圖如下:
難道接口就不能通過new進行實例化了嗎?其實不然,接口可以進行實例化,只需要在new后將接口中未實現的方法進行實現就好,這種做法其實是匿名內部類的做法,本質上講還是類的實例化。具體演示如下:
上述演示表示了如何對接口進行new,從而創(chuàng)建實例!寫到這里基本主題已經結束了,但是注意到上圖中new Runnable()是灰色的,IDEA提示:需要使用lambda表達式來代替匿名內部類。
下面使用lambda表達式進行改寫,演示如下:
2、總結
java中接口可以通過在new對象的時候,以匿名內部類(lambda表達式)的方式實現未實現的方法,從而來達到new對象的效果!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。