久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > java培訓(xùn)教程:什么是匿名內(nèi)部類?怎樣創(chuàng)建匿名內(nèi)部類?

java培訓(xùn)教程:什么是匿名內(nèi)部類?怎樣創(chuàng)建匿名內(nèi)部類?

來源:千鋒教育
發(fā)布人:qyf
時(shí)間: 2021-10-21 17:47:00 1634809620

  本期java教程要為大家分享的是關(guān)于java中的匿名內(nèi)部類,相信很多同學(xué)在學(xué)java技術(shù)的時(shí)候有了解過,下面我們就來詳細(xì)的看一下。

  java培訓(xùn)教程:什么是匿名內(nèi)部類?怎樣創(chuàng)建匿名內(nèi)部類?匿名內(nèi)部類是沒有名稱的內(nèi)部類。在Java中調(diào)用某個(gè)方法時(shí),如果該方法的參數(shù)是接口類型,除了可以傳人個(gè)接口實(shí)現(xiàn)類外,還可以使用實(shí)現(xiàn)接口的匿名內(nèi)部類作為參數(shù),在匿名內(nèi)部類中直接完成方法的實(shí)現(xiàn)。創(chuàng)建匿名內(nèi)部類的基本語法格式如下:

  new父接口( ) {//匿名內(nèi)部類實(shí)現(xiàn)部分

  下面通過一個(gè)案例學(xué)習(xí)匿名內(nèi)部類的定義和使用,如文件4-23所示。

  interface Animal {

  roid shout ();

  public class Example23{

  public static void main (String[] args) {

  String name = “小花”;

  animalShout (new Animal (){

  @Override

  public void shout() {

  System.out.println (name+"喵喵.......") ;

  }) ;

  public static void animalShout (Animal an) {

  an.shout );

  }

  }

  文件4-23的運(yùn)行結(jié)果如圖4-23所示。

1

圖4-23文件4-23的運(yùn)行結(jié)果

  文件4-23中,第1~3行代碼創(chuàng)建了Animal接口;

  第7~12行代碼是調(diào)用animalShout( )方法,將實(shí)現(xiàn)Animal接口的匿名內(nèi)部類作為animalShout( )方法的參數(shù),并在匿名內(nèi)部類中重寫Animal接口的shout( )方法。

  需要注意的是,在文件4-23中的匿名內(nèi)部類中訪問了局部變量name,而局部變量name并沒有使用final修飾符修飾,程序也沒有報(bào)錯(cuò)。這是JDK8的新增特性,允許在局部內(nèi)部類、匿名內(nèi)部類中訪問非final修飾的局部變量,而在JDK8之前,局部變量前必須加final修飾符,否則程序編譯時(shí)報(bào)錯(cuò)。

  對于初學(xué)者而言,可能會覺得匿名內(nèi)部類的寫法比較難理解,下面分兩步介紹匿名內(nèi)部類的編寫,具體如下。

  在調(diào)用animalShout()方法時(shí),在方法的參數(shù)位置寫上new Animal ( ) {},這相當(dāng)于創(chuàng)建了一個(gè)實(shí)例對象,并將對象作為參數(shù)傳animalShout( )方法。在new Animal( )后面有一對大括號,表示創(chuàng)建的對象為Animal的子類實(shí)例,該子類是匿名的,具體代碼如下:

  animalShout (new Animal () {}) ;

  (2)在大括號中編寫匿名子類的實(shí)現(xiàn)代碼,具體如下:

  animalShout (new Animal ( ) {public void shoutSustem.out.println (“喵喵.....”);} });

  至此便完成了匿名內(nèi)部類的編寫。匿名內(nèi)部類是實(shí)現(xiàn)接口的種簡便寫法,在程序中不定非要使用匿名內(nèi)部類。對于初學(xué)者而言,不要求完全掌握這種寫法,只需理解語法就可以。

  以上就是為大家介紹的“什么是匿名內(nèi)部類?怎樣創(chuàng)建匿名內(nèi)部類?”的java培訓(xùn)教程,如果大家正在學(xué)習(xí)java知識或者是對java知識比較感興趣的話,都可以添加我們的官方qq群-811099962,不僅可以獲得java學(xué)習(xí)資料,并且群內(nèi)還有專業(yè)的java老師定期為大家解決學(xué)習(xí)所遇到的問題,想要學(xué)習(xí)的小伙伴,不要錯(cuò)過。

tags:
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
有什么工具能進(jìn)行服務(wù)器性能監(jiān)控?

一、NagiosNagios是一款廣泛使用的開源監(jiān)控工具,用于監(jiān)控服務(wù)器、網(wǎng)絡(luò)設(shè)備和應(yīng)用程序的狀態(tài)和性能。它支持對各種指標(biāo)的監(jiān)控,如CPU使用率、內(nèi)...詳情>>

2023-10-14 00:12:36
應(yīng)用服務(wù)器與Web服務(wù)器有什么區(qū)別?

一、功能定位不同應(yīng)用服務(wù)器是一種軟件平臺,用于提供各種應(yīng)用程序的運(yùn)行環(huán)境。它負(fù)責(zé)管理和執(zhí)行應(yīng)用程序的邏輯,處理數(shù)據(jù)傳輸和事務(wù)管理等任務(wù)...詳情>>

2023-10-14 00:05:39
番茄工作法的優(yōu)點(diǎn)和缺陷都有哪些?

一、番茄工作法概述番茄工作法是一種時(shí)間管理技術(shù),旨在提高工作效率和集中注意力。該方法由弗朗西斯科·西里洛于1980年代開發(fā),并逐漸流行起來...詳情>>

2023-10-14 00:00:49
PHP數(shù)組具的特性有哪些?

一、有序集合PHP數(shù)組是一個(gè)有序的數(shù)據(jù)集合,它可以存儲多個(gè)值,并使用索引來訪問這些值。索引可以是數(shù)字或字符串,允許你以靈活的方式組織和訪...詳情>>

2023-10-13 23:46:55
C語言中定義與聲明的含義是什么?

一、定義的含義在C語言中,定義是指為變量、函數(shù)或類型分配存儲空間并指定其屬性和初始值的過程。定義的主要含義如下:分配存儲空間:定義一個(gè)...詳情>>

2023-10-13 23:32:41
快速通道