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

java 內(nèi)部類(匿名類,匿名對(duì)象,靜態(tài)內(nèi)部類)詳解及實(shí)例

 更新時(shí)間:2016年12月25日 14:41:38   投稿:lqh  
這篇文章主要介紹了java 內(nèi)部類詳解及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下

內(nèi)部類的介紹

定義在另外一個(gè)類中的類,叫內(nèi)部類

成員內(nèi)部類

1..new 創(chuàng)建成員內(nèi)部類必須先創(chuàng)建外部類的實(shí)例,然后通過.new 創(chuàng)建內(nèi)部類的對(duì)象

2..this 可以通過外部類的類名.this去訪問外部類的所有屬性和方法。

public class Test1 {

  String name = "asnd";

  public static void main(String[] args) {

    Test1 test1 = new Test1();
    Inner mInner = test1.new Inner();
    mInner.print();
  }

  void show() {
    System.out.println("show");
  }

  public class Inner {

    String name = "123";
    private void print(){
      show();
      System.out.println(name);//打印的是123
      System.out.println(Test1.this.name);//打印的是asnd
    }
  }
}

匿名內(nèi)部類

沒有名字的類,創(chuàng)建類的同時(shí),也會(huì)創(chuàng)建一個(gè)對(duì)象。

只需要用到一次的類,就可以使用匿名內(nèi)部類

  File file = new File("D:/cc.txt") {

      @Override
      public boolean delete() {
        System.out.println("是否刪除y/n");
        Scanner input = new Scanner(System.in);
        String str = input.next();
        if (str.equals("y")) {
          return super.delete();
        }
        System.out.println("刪除失敗");
        return false;
      }
    };
    file.delete();

  }

匿名對(duì)象

該對(duì)象只需要訪問一次.

new Thread() {

      @Override
      public void run() {
        System.out.println("線程開始!");
        try {
          Thread.sleep(2000);
          System.out.println("線程結(jié)束!");
        } catch (Exception e) {
          e.printStackTrace();
        }
        super.run();
      }

    }.start();

靜態(tài)內(nèi)部類

1.靜態(tài)內(nèi)部類只能訪問外部類靜態(tài)的方法和變量,不能訪問非靜態(tài)。

2.靜態(tài)內(nèi)部類可以不需要?jiǎng)?chuàng)建外部類的引用,而直接創(chuàng)建。

匿名內(nèi)部類訪問局部變量

內(nèi)部類訪問局部變量必須final,如果沒有加,jdk1.8默認(rèn)加上去了
當(dāng)所使用的變量是在變的時(shí)候可以用下面的方法,也可以把下面的i在開始的時(shí)候定為靜態(tài)的

for (int i = 0; i < 5; i++) {
      final int finali = i;
      new Thread() {
        public void run() {
          System.out.println(finali);
        };
      }.start();

    }

下面介紹一下內(nèi)部類的實(shí)現(xiàn)技巧

public static void main(String[] args) {
    Lam mLam = new Lam();
    //第一種實(shí)現(xiàn)的方法
    mLam.to(new Ligh() {
      @Override
      public void shin() {
        System.out.println("on的第一種方法");
      }
    });
    //第二種實(shí)現(xiàn)方法
    class MyLam implements Ligh{

      @Override
      public void shin() {
        System.out.println("第二種");

      }}

    mLam.to(new MyLam());
  }
}

interface Ligh {
  void shin();
}

class Lam {
  public void to(Ligh ligh) {
    ligh.shin();
    System.out.println("on");
  }
}

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

相關(guān)文章

  • Java中的Semaphore信號(hào)量使用解析

    Java中的Semaphore信號(hào)量使用解析

    這篇文章主要介紹了Java中的Semaphore信號(hào)量使用解析,Semaphore 通常我們叫它信號(hào)量,可以用來控制同時(shí)訪問特定資源的線程數(shù)量,通過協(xié)調(diào)各個(gè)線程,以保證合理的使用資源,需要的朋友可以參考下
    2023-11-11
  • 如何把Spring Cloud Data Flow部署在Kubernetes上

    如何把Spring Cloud Data Flow部署在Kubernetes上

    這篇文章主要介紹了把Spring Cloud Data Flow部署在Kubernetes上,再跑個(gè)任務(wù)試試,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-08-08
  • Spring boot將配置屬性注入到bean類中

    Spring boot將配置屬性注入到bean類中

    本篇文章主要介紹了Spring boot將配置屬性注入到bean類中,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-03-03
  • 通過實(shí)例了解java spring使用構(gòu)造器注入的原因

    通過實(shí)例了解java spring使用構(gòu)造器注入的原因

    這篇文章主要介紹了通過實(shí)例了解spring使用構(gòu)造器注入的原因,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • Spring為何要用三級(jí)緩存來解決循環(huán)依賴問題

    Spring為何要用三級(jí)緩存來解決循環(huán)依賴問題

    這篇文章主要給大家介紹了關(guān)于Spring為何要用三級(jí)緩存來解決循環(huán)依賴問題的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • java算法題解LeetCode30包含min函數(shù)的棧實(shí)例

    java算法題解LeetCode30包含min函數(shù)的棧實(shí)例

    這篇文章主要為大家介紹了java算法題解LeetCode30包含min函數(shù)的棧實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • Java中簡(jiǎn)單實(shí)用Quartz概述

    Java中簡(jiǎn)單實(shí)用Quartz概述

    Quartz是一個(gè)開源的Java調(diào)度框架,可以用來實(shí)現(xiàn)在指定的時(shí)間或時(shí)間間隔觸發(fā)任務(wù)執(zhí)行的功能,這篇文章主要介紹了Java中簡(jiǎn)單實(shí)用Quartz,需要的朋友可以參考下
    2023-02-02
  • Windows10系統(tǒng)下JDK1.8的下載安裝及環(huán)境變量配置的教程

    Windows10系統(tǒng)下JDK1.8的下載安裝及環(huán)境變量配置的教程

    這篇文章主要介紹了Windows10系統(tǒng)下JDK1.8的下載安裝及環(huán)境變量配置的教程,本文圖文并茂給大家介紹的非常詳細(xì),對(duì)大家的工作或?qū)W習(xí)具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-03-03
  • SpringBoot3實(shí)戰(zhàn)教程之實(shí)現(xiàn)接口簽名驗(yàn)證功能

    SpringBoot3實(shí)戰(zhàn)教程之實(shí)現(xiàn)接口簽名驗(yàn)證功能

    接口簽名是一種重要的安全機(jī)制,用于確保 API 請(qǐng)求的真實(shí)性、數(shù)據(jù)的完整性以及防止重放攻擊,這篇文章主要介紹了SpringBoot3實(shí)戰(zhàn)教程之實(shí)現(xiàn)接口簽名驗(yàn)證功能,需要的朋友可以參考下
    2025-04-04
  • Java 添加、更新和移除PDF超鏈接的實(shí)現(xiàn)方法

    Java 添加、更新和移除PDF超鏈接的實(shí)現(xiàn)方法

    PDF超鏈接用一個(gè)簡(jiǎn)單的鏈接包含了大量的信息,滿足了人們?cè)诓徽加锰嗫臻g的情況下渲染外部信息的需求。這篇文章主要介紹了Java 添加、更新和移除PDF超鏈接的實(shí)現(xiàn)方法,需要的朋友可以參考下
    2019-05-05

最新評(píng)論