成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Java中實現接口的三種方式,您造嗎?

開發 后端
本文介紹了Java中實現接口的三種方式:常規實現方式、匿名內部類和 Lambda表達式實現方式。希望已經了解的同學可以重新溫習一下,不了解的同學則從中受益!

本文介紹了Java中實現接口的三種方式:常規實現方式、匿名內部類和 Lambda表達式實現方式。希望已經了解的同學可以重新溫習一下,不了解的同學則從中受益!

Java中接口最常規的實現方式

同學們都會知道,java中實現接口的方法通常如下:

定義接口

定義類實現接口

類中重寫接口里的方法

創建類對象

調用重寫后的方法

代碼實現如下:

  1. //定義一個接口 
  2. public interface ITest { 
  3.     public void  func1(); 
  4.  
  5. //類實現該接口 
  6. public class CTest implements ITest { 
  7.     @Override 
  8.     public void func1() { 
  9.         System.out.println("This is func1"); 
  10.  
  11.     } 
  12.  
  13. //調用類中,調用方法func1() 
  14.   CTest ct=new CTest(); 
  15.    ct.func1(); 

通過匿名內部類實現

匿名內部類顧名思義也就是沒有名字的內部類,它通常用來簡化代碼編寫。使用匿名內部類還有個前提條件:必須存在繼承和實現關系的時候才可以使用!

不多說,直接上匿名內部類實現接口的代碼

  1. //定義一個接口 
  2. public interface ITest { 
  3.     public void  func1(); 
  4.  
  5. //調用類中直接實現接口中定義的方法,然后直接調 
  6. ITest it1 = new ITest() { 
  7.     @Override 
  8.     public void func1() { 
  9.         System.out.println("This is func1 by anonymous"); 
  10.     } 
  11. }; 
  12. it1.func1(); 
  13. //或者寫成: 
  14. new ITest() { 
  15.     @Override 
  16.     public void func1() { 
  17.         System.out.println("This is func1 by anonymous"); 
  18.     } 
  19. }. func1()  
  20. //如果需要接口中的兩個方法,這種寫法則不夠友好,因為一次只能調用一個方法 

大家可以看到上面的代碼直接new了接口ITest(),然后重寫了方法func1,調用接口中方法的過程被大大優化了!通過匿名內部類只需要定義接口(ITest),無需定義這個接口的具體實現類(CTest)了。所以大家以后看到接口被new 然后直接實現里面方法的寫法時,千萬不要感到驚訝,這只是內部類實現接口的方法而已。

通過lambda表達式來實現

Java 8 Lambda表達式在只有一個方法的接口實現代碼編寫中,可以起到簡化作用。

注意:這里特殊強調在只有一個方法的接口中!否則提示如下錯誤:

Multiple non-overriding abstract methods found in interface ***

代碼實現如下:

  1. //定義一個接口 
  2. public interface ITest { 
  3.     public void  func1(); 
  4. //調用類中直接實現接口中定義的方法,然后直接調 
  5. ITest it2 =()->{System.out.println("This is func1 by Lambda");}; 
  6. it2.func1(); 

 

責任編輯:姜華 來源: 今日頭條
相關推薦

2022-01-20 08:38:02

Java接口Lambda

2011-06-03 11:53:06

Spring接口

2024-07-01 12:42:58

2018-04-02 14:29:18

Java多線程方式

2011-07-22 17:22:20

Spring

2010-03-12 17:52:35

Python輸入方式

2021-11-05 21:33:28

Redis數據高并發

2014-12-31 17:42:47

LBSAndroid地圖

2021-06-24 08:52:19

單點登錄代碼前端

2022-11-03 08:44:24

代理模式Java設計模式

2025-06-06 00:00:00

JavaHTTPMCP

2023-12-04 09:31:13

CSS卡片

2023-04-11 08:10:46

JavaScriptnull操作符

2012-07-17 09:16:16

SpringSSH

2024-07-08 09:03:31

2010-09-07 16:31:27

CSS

2024-08-13 08:25:16

C#外部程序方式

2020-11-01 17:10:46

異步事件開發前端

2024-05-27 00:20:00

2023-12-19 16:43:01

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久香焦 | 亚洲成人综合社区 | 欧美一级二级在线观看 | 久久神马| 国产精品久久久久久久久久软件 | 国产精品久久亚洲7777 | 亚洲精品视频网站在线观看 | 久久久久se | 国产在线精品一区二区三区 | 国产精品精品视频一区二区三区 | 国产午夜在线 | 一级毛片免费完整视频 | 日本成人午夜影院 | 国产精品无码久久久久 | 亚洲日本欧美日韩高观看 | 国产精品美女久久久av超清 | 日韩中文电影 | 91精品国产一区二区 | 日本精品久久久久 | 日韩成人一区 | 国产在线一区二 | 亚洲视频一区二区三区四区 | 人操人免费视频 | 在线观看 亚洲 | 色综网 | 黑人久久 | 午夜天堂精品久久久久 | 亚洲第1页 | 欧美日韩一区二区在线播放 | av无遮挡| 特一级毛片 | 久久99精品国产 | 日韩中出 | 粉嫩一区二区三区国产精品 | 伊人久久国产 | 九九九久久国产免费 | 精品视频久久久 | 欧美日韩久久久 | 日本成人中文字幕 | 亚洲精品综合 | 久久久久久91 |