欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解Java匿名內(nèi)部類

 更新時間:2021年12月31日 16:15:57   作者:CoolTomato_  
這篇文章介紹了Java匿名內(nèi)部類的實現(xiàn),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

匿名內(nèi)部類:

先舉個例子吧,給大家看一下什么是匿名內(nèi)部類,Endeavor剛剛接觸的時候,覺得哇哦,好奇怪的樣子,這也太別扭了吧,不知道大家是什么感覺。

為了進(jìn)行對比,先舉一個正常的類方法調(diào)用的例子(大家應(yīng)該都看的懂吧):

輸出結(jié)果為:

接下來便開始說正題吧,匿名內(nèi)部類,通過名字,想必大家就知道什么是匿名內(nèi)部類了吧,

  • 1、定義:就是沒有名字的內(nèi)部類(內(nèi)部類之前介紹過了哦)。
  • 2、使用內(nèi)部類有什么好處呢,一句話就概括了:簡化書寫,至于是怎么簡化的,哪里簡化了等下再說。
  • 3、先說一下什么時候使用匿名內(nèi)部類,即使用前提和條件:必須存在繼承和實現(xiàn)關(guān)系的時候才可以使用,其實這也很好理解,首先,匿名內(nèi)部類沒有名字,那該如何描述以及new個對象呢?對,沒錯,要通過繼承它的父類或者實現(xiàn)一個接口來達(dá)成這一目的。

下面舉個例子:

輸出結(jié)果:

看到這幾行代碼,應(yīng)該就不用我來解釋為什么說匿名內(nèi)部類可以簡化書寫了吧。

如何調(diào)用匿名內(nèi)部類中的方法這個應(yīng)該也是大家好奇的吧,畢竟匿名內(nèi)部類沒有類名該如何調(diào)用方法就成為了一個問題。

1、匿名內(nèi)部類中只有一個方法的情況

2、匿名內(nèi)部類有一個方法調(diào)用起來很容易,那如果有多個方法呢,大家不會想這樣吧?

輸出結(jié)果試一下:

那么該如何調(diào)用匿名內(nèi)部類中的多方法呢?

Endeavor有兩種方法,如果大家還有更好的方法多多賜教哦!

1、利用多態(tài)的思想(匿名內(nèi)部類的前提是存在繼承或?qū)崿F(xiàn)關(guān)系的)

輸出結(jié)果:

2、改變方法類型,返回this

輸出結(jié)果:

不知道看完之后大家有沒有什么疑問,如果想調(diào)用匿名內(nèi)部類自己特有的方法的時候呢?該如何調(diào)用呢?

輸出結(jié)果:

顯然是不行的,所以Endeavor覺得內(nèi)名內(nèi)部類可以有自己特有的方法,但是前提條件是這個匿名內(nèi)部類只有這一個方法。如果有多個方法的時候,他只能繼承父類的方法以及重寫這個方法或?qū)崿F(xiàn)接口,絕不可能在在多個方法的情況下,調(diào)用自身特有的方法,但是這個特有的方法可以存在,但無法調(diào)用,不知道大家認(rèn)同與否。

舉例:

輸出結(jié)果:

補充三點:

  • 1、匿名內(nèi)部類 :匿名內(nèi)部類只是沒有類名,其他的一概成員都是具備的。

之前說過匿名內(nèi)部類存在的前提是要有繼承或者實現(xiàn)關(guān)系的,但是并沒有看到extends和implements關(guān)鍵字,這是怎么回事呢?

答:很簡單,匿名內(nèi)部類沒有連類名都沒有,使用關(guān)鍵字就更無從說起了。這些由jvm搞定了。

  • 2、匿名內(nèi)部類是實現(xiàn)接口

  • 3、接下來和大家分享一下匿名內(nèi)部類中使用最普遍的一種情況,即以實參的形式使用

輸出結(jié)果:

到此這篇關(guān)于詳解Java匿名內(nèi)部類的文章就介紹到這了。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 淺談Java中ThreadLocal內(nèi)存泄露的原因及處理方式

    淺談Java中ThreadLocal內(nèi)存泄露的原因及處理方式

    內(nèi)存泄漏就是我們申請了內(nèi)存,但是該內(nèi)存一直無法釋放,就會導(dǎo)致內(nèi)存溢出問題,本文詳細(xì)的介紹了ThreadLocal內(nèi)存泄露的原因及處理方式,感興趣的可以了解一下
    2023-05-05
  • idea在工具欄中顯示快速創(chuàng)建包和類的圖標(biāo)的詳細(xì)步驟

    idea在工具欄中顯示快速創(chuàng)建包和類的圖標(biāo)的詳細(xì)步驟

    點擊需要創(chuàng)建包或者類的位置,在點擊對用的圖標(biāo)就可以快速創(chuàng)建類或者包了,下面小編給大家介紹idea在工具欄中顯示快速創(chuàng)建包和類的圖標(biāo)的詳細(xì)步驟,感興趣的朋友一起看看吧
    2024-02-02
  • java 實現(xiàn)反射 json動態(tài)轉(zhuǎn)實體類--fastjson

    java 實現(xiàn)反射 json動態(tài)轉(zhuǎn)實體類--fastjson

    這篇文章主要介紹了java 實現(xiàn)反射 json動態(tài)轉(zhuǎn)實體類--fastjson,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • Eclipse插件大全 挑選最牛的TOP30(全)

    Eclipse插件大全 挑選最牛的TOP30(全)

    ?“Eclipse最牛的30個插件”不知道看官們是否了解,風(fēng)少俠特意翻譯出來奉獻(xiàn)給各位,希望大家喜歡
    2013-02-02
  • Java必會的Synchronized底層原理剖析

    Java必會的Synchronized底層原理剖析

    synchronized作為Java程序員最常用同步工具,很多人卻對它的用法和實現(xiàn)原理一知半解,以至于還有不少人認(rèn)為synchronized是重量級鎖,性能較差,盡量少用。但不可否認(rèn)的是synchronized依然是并發(fā)首選工具,本文就來詳細(xì)講講
    2022-10-10
  • java 發(fā)送帶Basic Auth認(rèn)證的http post請求實例代碼

    java 發(fā)送帶Basic Auth認(rèn)證的http post請求實例代碼

    下面小編就為大家?guī)硪黄猨ava 發(fā)送帶Basic Auth認(rèn)證的http post請求實例代碼。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-11-11
  • 基于java SSM springboot實現(xiàn)景區(qū)行李寄存管理系統(tǒng)

    基于java SSM springboot實現(xiàn)景區(qū)行李寄存管理系統(tǒng)

    這篇文章主要介紹了基于java SSM springboot實現(xiàn)的景區(qū)行李寄存管理系統(tǒng),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-08-08
  • Java 中的注解詳解及示例代碼

    Java 中的注解詳解及示例代碼

    本文主要介紹Java 中的注解,這里提供了詳細(xì)的相關(guān)資料,及示例代碼,幫助大家學(xué)習(xí)理解,有興趣的小伙伴可以參考下
    2016-08-08
  • Java try-catch-finally異常處理機制詳解

    Java try-catch-finally異常處理機制詳解

    這篇文章主要介紹了Java try-catch-finally異常處理機制詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • SpringCloud微服務(wù)架構(gòu)升級匯總

    SpringCloud微服務(wù)架構(gòu)升級匯總

    這篇文章主要介紹了SpringCloud微服務(wù)架構(gòu)升級匯總,它提倡將單一應(yīng)用程序劃分成一組小的服務(wù),服務(wù)之間互相協(xié)調(diào)、互相配合,為用戶提供最終價值,需要的朋友可以參考下
    2019-06-06

最新評論