日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

oop - Java中,關于匿名內部類調用外部類方法的疑惑

瀏覽:231日期:2023-11-29 13:08:58

問題描述

今天學習了內部類的知識,知道內部類是可以持有外部類的this,從而在內部類中可以使用OuterClass.this.medthod()來引用相應外部類方法。但是我寫出下代碼,可以運行,然而其中的調用邏輯我不是很明白,望賜教!

public class test {public void report(){ System.out.println('I’m invoked!');}public void perform(){ new Speaker().handleAction(new Action(){@Overridepublic void action() { report();//???為什么能調用report??} });}public static void main(String[] args) { new test().perform();//測試代碼} } class Speaker{void handleAction(Action act){ act.action();} } interface Action{void action(); }

其中設計是這樣的,test對象調用perform方法,該方法其中新建一個Speaker匿名類對象,該對象調用了其handleAction方法,該方法的參數是一個Action接口,接口需要重寫action抽象方法。我使用了屬于test的report方法。輸出是正常的。

那么我想知道,test對象的方法中有一個匿名類的局部對象,局部對象參數是一個實現接口的匿名類,為什么在這個匿名類中可以調用report?它持有test.this指針嗎?我理解中,new Speaker().handleAction(new Action(){....這里面的實現邏輯和test.this一點關系都沒有,也沒有必要持有test.this???

問題解答

回答1:

public void perform(){ new Speaker().handleAction(new Action(){@Overridepublic void action() { report();//???為什么能調用report??} });}

new Speaker()不是匿名內部類,它有確切的類名Speakernew Action(){}是匿名內部類,會在編譯的時候給它一個類名(我們假定它的類名叫Test$1,你可以打印this.getClass()看看)看出兩者的區(qū)別了嗎?匿名內部類多出了個{}。由于new Action(){}是在test對象的作用域里被創(chuàng)建的,所以它的外部類是Test。

匿名內部類也有構造器,而且和普通類的構造器有點不一樣,編譯的時候會在匿名內部類的構造器的參數列表之前再插入一個參數,這個參數是外部類的對象的引用,編譯之后這個類長這樣:

Test$1 implements Action { final T this$0; Test$1(T this$0){this.this$0 = this$0; }@Override public void action() {this$0.report(); }}

new Action(){...}實際上是創(chuàng)建了Test$1,并且通過構造器把test對象引用傳給Test$1

public void perform(){ new Speaker().handleAction(new Test$1(this));}

所以匿名內部類持有外部類的引用,且可以調用外部類的方法

標簽: java
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产精品极品| 日韩国产高清在线| 免费视频久久| 国产激情久久| 日本a级不卡| 午夜久久av| 亚洲一区二区三区高清| 久久天堂成人| 日韩国产欧美| 蜜桃av.网站在线观看| 婷婷综合福利| 亚州av一区| 日本h片久久| 99在线|亚洲一区二区| 日韩网站中文字幕| 国产伦精品一区二区三区视频| 日韩精品五月天| 久久精品超碰| 另类欧美日韩国产在线| 四虎国产精品免费观看| 成人免费电影网址| 欧美~级网站不卡| 亚洲欧美日韩综合国产aⅴ| 视频一区国产视频| 日韩av在线免费观看不卡| 四虎精品永久免费| 国产精品一区二区三区美女| 精品视频99| 欧美综合另类| 中文字幕日韩亚洲| 国产精品一区二区三区av| 国产va免费精品观看精品视频| 久久精品成人| 亚洲精品亚洲人成在线观看| 国产精品久久久久久妇女| 中文字幕高清在线播放| 欧美精品羞羞答答| 久久国产尿小便嘘嘘| 日韩欧美不卡| 蜜芽一区二区三区| 国产精品一级| 欧美日韩在线网站| 日韩av一区二区在线影视| 最新中文字幕在线播放| 亚洲深爱激情| 麻豆精品在线视频| 国产美女精品| 日本在线高清| 国产一卡不卡| japanese国产精品| 国产欧美一区| 激情五月综合网| 久久中文精品| 五月亚洲婷婷 | 国产综合婷婷| 欧美国产另类| 精品视频在线观看网站| 国产欧美自拍| 国产精品亚洲四区在线观看| 国产欧美综合一区二区三区| 国产无遮挡裸体免费久久| 亚洲精品少妇| 欧美一级网址| 91欧美国产| 尤物精品在线| 欧美亚洲国产日韩| 欧美国产三级| 不卡一二三区| 亚洲一区日韩| 欧美伊人久久| 精品中国亚洲| 亚洲午夜视频| 亚洲精品三级| 老鸭窝一区二区久久精品| 亚洲美女久久精品| 欧美网站在线| 亚洲精品少妇| 国产成人精品免费视| 黄色日韩在线| 国产一区 二区| 欧美亚洲国产激情| 午夜久久av | 麻豆高清免费国产一区| 日韩欧美二区| 在线观看一区| 在线亚洲人成| 欧美在线观看天堂一区二区三区| 国产精品蜜芽在线观看| 水野朝阳av一区二区三区| 国产欧美日韩在线一区二区| 1000部精品久久久久久久久| 日本亚洲欧洲无免费码在线| 黑人精品一区| 亚洲精品高潮| 国产精品99一区二区| 欧美国产三级| 亚洲欧洲国产精品一区| www.九色在线| 日韩在线观看一区二区三区| 国产精品亚洲一区二区三区在线观看| 亚洲精品高潮| 欧美美女一区| 天堂а√在线最新版中文在线| 日本aⅴ免费视频一区二区三区| 久久视频国产| 精品国产精品国产偷麻豆| 亚洲精品麻豆| 久久亚洲色图| 国产亚洲一区在线| 成人久久久久| 一本大道色婷婷在线| 国模精品一区| 精品久久亚洲| 欧美日韩一区二区高清| 99在线精品视频在线观看| 久久久久久免费视频| 你懂的国产精品永久在线| 亚洲啊v在线免费视频| 99久久精品费精品国产| 精品视频在线你懂得| 欧美日韩亚洲一区三区| 日本视频中文字幕一区二区三区| 视频在线观看一区| 美国欧美日韩国产在线播放| 久久国产精品久久w女人spa| 亚洲在线观看| 中文字幕乱码亚洲无线精品一区| 一区二区国产精品| 日本欧美一区二区| 天使萌一区二区三区免费观看| 免播放器亚洲| 91嫩草精品| 狠狠久久伊人中文字幕| 日本不良网站在线观看| 亚洲深夜福利| 青草综合视频| 亚洲黄色免费看| 伊人久久亚洲美女图片| 深夜日韩欧美| 国产成人免费精品| 在线日韩中文| 日本午夜精品久久久久| 国产成人精品福利| 在线亚洲免费| 日韩视频一二区| 97国产成人高清在线观看| 欧美亚洲激情| 欧美日韩一区二区三区四区在线观看 | 国产精品15p| 久久中文字幕av一区二区不卡| 中文日韩在线| 麻豆精品在线| 国产精品人人爽人人做我的可爱| 日韩中文一区二区| 国产精品xxx在线观看| 欧美/亚洲一区| 久久精品av麻豆的观看方式| 久久久久国产精品一区二区| 久久xxxx| 麻豆一区在线| 亚洲资源网站| 99国产精品免费视频观看| 香蕉久久久久久| 欧美一区二区三区高清视频| 国产日韩免费| 久久性天堂网| 欧美 日韩 国产精品免费观看| 国产精品亚洲一区二区在线观看| 91精品观看| 激情综合五月| 欧美日韩伊人| 日韩欧美中文在线观看| 日韩视频二区| 欧美 日韩 国产一区二区在线视频| 久久99久久人婷婷精品综合| 日韩精品中文字幕一区二区| 99热免费精品| 欧美午夜不卡| 亚洲香蕉网站| 亚洲一级影院| 久久国产电影| 91精品精品| www.com.cn成人| 色在线视频观看| 国语精品一区| 日韩av二区| av中文字幕在线观看第一页| 久久精品免费看| 精品久久电影| 日韩精品午夜| 亚洲欧美日韩专区| 亚洲免费观看高清完整版在线观| 综合精品一区| 日韩精品免费观看视频| 人人爱人人干婷婷丁香亚洲| 亚洲a成人v| 国产精品入口久久| 福利一区和二区| 美女亚洲一区| 激情婷婷综合|