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

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

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

瀏覽:228日期: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()看看)看出兩者的區別了嗎?匿名內部類多出了個{}。由于new Action(){}是在test對象的作用域里被創建的,所以它的外部類是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(){...}實際上是創建了Test$1,并且通過構造器把test對象引用傳給Test$1

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

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

標簽: java
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩中文字幕不卡| 视频一区中文| 久久久国产精品入口麻豆| 久久不卡国产精品一区二区| 国产在视频一区二区三区吞精| 色老板在线视频一区二区| 国产在线成人| 日本成人中文字幕在线视频| 免费一级欧美片在线观看网站 | 丝袜诱惑一区二区| 亚洲国内欧美| 日韩精品高清不卡| 精品99在线| 91精品福利| 国产精品1区| 99视频精品| 日韩欧美午夜| 日韩中文字幕区一区有砖一区 | 亚洲精品美女91| 国产精品久久久久久模特 | 日韩在线观看中文字幕| 久久精品一区二区三区中文字幕| 久久国产电影| 日韩不卡在线观看日韩不卡视频 | 国产在线一区不卡| 亚洲在线国产日韩欧美| 麻豆成人综合网| 亚洲自啪免费| 黄色精品视频| 久久亚洲二区| 亚洲午夜天堂| 日韩精品亚洲专区| 欧美一区三区| 麻豆国产欧美日韩综合精品二区| 伊人影院久久| 福利一区视频| 免费观看在线综合| 黑人精品一区| 国产欧美精品| 亚洲欧美视频| 日韩激情一区| 国产精品一区三区在线观看| 最新亚洲激情| 日韩欧美二区| 欧美激情综合| 亚洲18在线| 欧美精选一区二区三区| 九九九精品视频| 日本一区二区中文字幕| 欧美特黄一区| 黄色aa久久| 欧美精品国产一区| 亚洲欧美网站| 国产一区观看| 午夜精品久久久久久久久久蜜桃| 免费在线观看一区| 日本视频在线一区| 美女黄网久久| 亚洲高清二区| 岛国av在线播放| 国产日韩一区二区三区在线| 国产精品免费看| 日本精品不卡| 精品少妇av| 欧美精品观看| 日日夜夜免费精品| 蜜桃国内精品久久久久软件9| 精品一区电影| 国产精品自拍区| 亚洲精品高潮| 亚洲自拍另类| 国产亚洲毛片在线| 91看片一区| 动漫av一区| 免费精品一区| 免费日韩一区二区三区| 国产精品一区免费在线| 欧美亚洲一级| 国产一区二区三区黄网站| 国产精品一区二区三区美女| 亚洲精品美女91| 黄色欧美日韩| 亚洲手机在线| 久久免费国产| 国产99久久久国产精品成人免费| 亚洲黄色免费看| 加勒比视频一区| 久久精品国产成人一区二区三区| 国产精品夜夜夜| 久久激情av| 国产日韩欧美三区| 国产精品香蕉| 美女视频网站久久| 成人亚洲一区| 久久男人av资源站| 日韩免费高清| 亚洲午夜电影| 激情综合亚洲| 国产精品日本| 亚洲精品第一| 91嫩草精品| 国产精品亚洲产品| 精品国产99| 亚洲天堂一区二区| 午夜欧美精品| 蜜臀va亚洲va欧美va天堂| 亚洲精品系列| 国产精品一页| 精品国产免费人成网站| 久久久久国产精品一区三寸| 不卡一区2区| 蜜臀久久99精品久久久久宅男 | 亚洲三级视频| 91久久精品无嫩草影院| 国产精品a久久久久| 成人在线视频中文字幕| 成人啊v在线| 国产亚洲福利| 日本aⅴ亚洲精品中文乱码| 久久av国产紧身裤| 在线中文字幕播放| 国产精品婷婷| 日韩高清在线不卡| 精品伊人久久| 日韩精品dvd| 亚洲欧美不卡| 日本免费一区二区视频| 成人午夜在线| 欧美午夜不卡| 欧美日韩亚洲一区| 人人草在线视频| aa亚洲婷婷| 日本精品一区二区三区在线观看视频 | 国产伦理一区| 亚洲精品**中文毛片| 妖精视频成人观看www| 日韩国产成人精品| 麻豆精品视频在线| 99热精品久久| 日韩午夜视频在线| 高潮一区二区| 亚洲天堂免费| 精品资源在线| 午夜一区在线| 久久精品国产网站| 狠狠色综合网| 欧美1区二区| 国产精品婷婷| 久久只有精品| 夜久久久久久| 美女精品视频在线| 日韩一区二区免费看| 国产伦精品一区二区三区视频| 日韩不卡免费高清视频| 日韩在线网址| 日韩一区欧美| 日韩国产在线观看一区| 色综合www| 日韩和欧美的一区| 久久久一二三| 国产精品亲子伦av一区二区三区| 亚洲网站视频| 麻豆精品蜜桃视频网站| 久久午夜精品| 高清av不卡| 国产午夜久久av| 美女毛片一区二区三区四区| 91av一区| 亚洲精品电影| 国产一区二区三区不卡视频网站 | 鲁大师精品99久久久| 国产亚洲精品v| 四虎8848精品成人免费网站| 99视频+国产日韩欧美| 给我免费播放日韩视频| 日韩高清电影一区| 婷婷亚洲综合| 国产一区二区三区四区| 久久中文视频| 日本不卡一区二区三区| 日韩在线观看| 天海翼亚洲一区二区三区| 欧美精品高清| 国产精品nxnn| 亚洲精选av| 欧美综合另类| 麻豆精品国产91久久久久久| 视频一区二区三区在线| 卡一卡二国产精品| 日韩免费精品| 国产一级久久| 免费在线小视频| 国产精品18| 天堂俺去俺来也www久久婷婷| 欧美99久久| 黄毛片在线观看| 麻豆精品视频在线| 欧美日韩一区自拍| 婷婷视频一区二区三区| 黑丝一区二区|