最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java中的匿名內部類總結

 更新時間:2017年09月25日 08:42:24   投稿:lqh  
這篇文章主要介紹了 java中的匿名內部類總結的相關資料,希望通過本文能幫助到大家,需要的朋友可以參考下

 java中的匿名內部類總結

匿名內部類也就是沒有名字的內部類

正因為沒有名字,所以匿名內部類只能使用一次,它通常用來簡化代碼編寫

但使用匿名內部類還有個前提條件:必須繼承一個父類或實現(xiàn)一個接口

實例1:不使用匿名內部類來實現(xiàn)抽象方法

abstract class Person { 
  public abstract void eat(); 
} 
  
class Child extends Person { 
  public void eat() { 
    System.out.println("eat something"); 
  } 
} 
  
public class Demo { 
  public static void main(String[] args) { 
    Person p = new Child(); 
    p.eat(); 
  } 
} 

運行結果:eat something

可以看到,我們用Child繼承了Person類,然后實現(xiàn)了Child的一個實例,將其向上轉型為Person類的引用

但是,如果此處的Child類只使用一次,那么將其編寫為獨立的一個類豈不是很麻煩?

這個時候就引入了匿名內部類

實例2:匿名內部類的基本實現(xiàn)

 public abstract void eat(); 
} 
  
public class Demo { 
  public static void main(String[] args) { 
    Person p = new Person() { 
      public void eat() { 
        System.out.println("eat something"); 
      } 
    }; 
    p.eat(); 
  } 
}

運行結果:eat something

可以看到,我們直接將抽象類Person中的方法在大括號中實現(xiàn)了

這樣便可以省略一個類的書寫

并且,匿名內部類還能用于接口上

 實例3:在接口上使用匿名內部類

interface Person { 
  public void eat(); 
} 
  
public class Demo { 
  public static void main(String[] args) { 
    Person p = new Person() { 
      public void eat() { 
        System.out.println("eat something"); 
      } 
    }; 
    p.eat(); 
  } 
}

運行結果:eat something

由上面的例子可以看出,只要一個類是抽象的或是一個接口,那么其子類中的方法都可以使用匿名內部類來實現(xiàn)

最常用的情況就是在多線程的實現(xiàn)上,因為要實現(xiàn)多線程必須繼承Thread類或是繼承Runnable接口

 實例4:Thread類的匿名內部類實現(xiàn)

public class Demo { 
  public static void main(String[] args) { 
    Thread t = new Thread() { 
      public void run() { 
        for (int i = 1; i <= 5; i++) { 
          System.out.print(i + " "); 
        } 
      } 
    }; 
    t.start(); 
  } 
}

運行結果:1 2 3 4 5

 實例5:Runnable接口的匿名內部類實現(xiàn)

public class Demo { 
  public static void main(String[] args) { 
    Runnable r = new Runnable() { 
      public void run() { 
        for (int i = 1; i <= 5; i++) { 
          System.out.print(i + " "); 
        } 
      } 
    }; 
    Thread t = new Thread(r); 
    t.start(); 
  } 
}

運行結果:1 2 3 4 5

如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關文章

  • 使用 Java 將 byte[] 轉換為 File 對象并上傳到外部服務器的方法(最新推薦)

    使用 Java 將 byte[] 轉換為 File 對象并上

    本文展示了如何通過 Java 和 Spring 來處理圖像文件的獲取、保存和上傳,通過 RestTemplate 獲取字節(jié)數(shù)組并將其轉換為 File 對象,可以輕松實現(xiàn)從遠程 URL 獲取文件并將其上傳到外部服務器,感興趣的朋友一起看看吧
    2025-03-03
  • 詳解java封裝返回結果與RestControllerAdvice注解

    詳解java封裝返回結果與RestControllerAdvice注解

    這篇文章主要為大家介紹了java封裝返回結果與RestControllerAdvice注解實例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-09-09
  • SpringCloud Zuul在何種情況下使用Hystrix及問題小結

    SpringCloud Zuul在何種情況下使用Hystrix及問題小結

    這篇文章主要介紹了SpringCloud Zuul在何種情況下使用Hystrix 及問題小結,感興趣的朋友跟隨小編一起看看吧
    2018-11-11
  • java實現(xiàn)斗地主發(fā)牌功能

    java實現(xiàn)斗地主發(fā)牌功能

    這篇文章主要為大家詳細介紹了java實現(xiàn)斗地主發(fā)牌功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • springboot中swagger、異步/定時/郵件任務的問題

    springboot中swagger、異步/定時/郵件任務的問題

    這篇文章主要介紹了springboot中swagger、異步/定時/郵件任務的問題,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-07-07
  • 新建Maven工程出現(xiàn)Process?Terminated的問題解決

    新建Maven工程出現(xiàn)Process?Terminated的問題解決

    當Maven出現(xiàn)"Process terminated"錯誤時,這通常是由于配置文件或路徑錯誤導致的,本文主要介紹了新建Maven工程出現(xiàn)Process?Terminated的問題解決,感興趣的可以了解一下
    2024-04-04
  • SpringBoot中的@ConditionalOnMissingBean注解使用詳解

    SpringBoot中的@ConditionalOnMissingBean注解使用詳解

    這篇文章主要介紹了SpringBoot中的@ConditionalOnMissingBean注解使用詳解,@ConditionalOnMissingBean作用在@Bean定義上,也就是說在容器加載它作用的Bean時,檢查容器中是否存在目標類型,需要的朋友可以參考下
    2024-01-01
  • 通過java生成讀取二維碼詳解

    通過java生成讀取二維碼詳解

    這篇文章主要介紹了java二維碼生成讀取詳解,二維碼再生活在無處不在,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,下面和小編一起來學習一下吧
    2019-05-05
  • IDEA版最新MyBatis程序配置教程詳解

    IDEA版最新MyBatis程序配置教程詳解

    這篇文章主要介紹了IDEA版最新MyBatis程序配置教程詳解,需要的朋友可以參考下
    2020-07-07
  • java.util.Collection源碼分析與深度理解

    java.util.Collection源碼分析與深度理解

    這篇文章主要給大家介紹了關于java.util.Collection的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-03-03

最新評論

高台县| 平山县| 苍梧县| 扬州市| 惠来县| 德钦县| 韩城市| 措美县| 丰原市| 石景山区| 鲁甸县| 且末县| 南涧| 临洮县| 麟游县| 东兰县| 凤山县| 阿鲁科尔沁旗| 延长县| 咸阳市| 醴陵市| 大丰市| 吴旗县| 钟祥市| 卢龙县| 什邡市| 友谊县| 天祝| 台山市| 东宁县| 大新县| 顺平县| 泗水县| 治多县| 梨树县| 象州县| 客服| 乃东县| 清苑县| 荥阳市| 清镇市|