日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java内部类为什么会持有外部类的引用_为什么内部类持有外部类的引?

發布時間:2024/9/30 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java内部类为什么会持有外部类的引用_为什么内部类持有外部类的引? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

對普通類(沒有內部類的類)來說,內部類和外部類都與他無關;對有內部類的類來說,它們就是其內部類的外部類,外部類是個相對的說法,其實就是有內部類的類。所以,要回答這個問題,只需要講解內部類是什么:Java中的內部類共分為四種:靜態內部類staticinnerclass(alsocallednestedclass)成員內部類memberinnerclass局部內部類localinnerclass匿名內部類anonymousinnerclass靜態內部類StaticInnerClass最簡單的內部類形式。

類定義時加上static關鍵字。不能和外部類有相同的名字。被編譯成一個完全獨立的。class文件,名稱為OuterClass$InnerClass。class的形式。只可以訪問外部類的靜態成員和靜態方法,包括了私有的靜態成員和方法。生成靜態內部類對象的方式為:OuterClass。

InnerClassinner=newOuterClass。InnerClass();示例代碼:packagecom。learnjava。innerclass;classStaticInner{privatestaticinta=4;//靜態內部類publicstaticclassInner{publicvoidtest(){//靜態內部類可以訪問外部類的靜態成員//并且它只能訪問靜態的System。

out。println(a);}}}publicclassStaticInnerClassTest{publicstaticvoidmain(String[]args){StaticInner。Innerinner=newStaticInner。

Inner();inner。test();}}成員內部類MemberInnerClass成員內部類也是定義在另一個類中,但是定義時不用static修飾。成員內部類和靜態內部類可以類比為非靜態的成員變量和靜態的成員變量。成員內部類就像一個實例變量。

它可以訪問它的外部類的所有成員變量和方法,不管是靜態的還是非靜態的都可以。在外部類里面創建成員內部類的實例:this。newInnerclass();在外部類之外創建內部類的實例:(newOuterclass())。newInnerclass();在內部類里訪問外部類的成員:Outerclass。

this。member示例代碼:packagecom。learnjava。innerclass;classMemberInner{privateintd=1;privateinta=2;//定義一個成員內部類publicclassInner2{privateinta=8;publicvoiddoSomething(){//直接訪問外部類對象System。

out。println(d);System。out。println(a);//直接訪問a,則訪問的是內部類里的a//如何訪問到外部類里的a呢?System。out。println(MemberInner。this。a);}}}publicclassMemberInnerClassTest{publicstaticvoidmain(String[]args){//創建成員內部類的對象//需要先創建外部類的實例MemberInner。

Inner2inner=newMemberInner()。newInner2();inner。doSomething();}}局部內部類LocalInnerClass局部內部類定義在方法中,比方法的范圍還小。是內部類中最少用到的一種類型。像局部變量一樣,不能被public,protected,private和static修飾。

只能訪問方法中定義的final類型的局部變量。局部內部類在方法中定義,所以只能在方法中使用,即只能在方法當中生成局部內部類的實例并且調用其方法。示例代碼:packagecom。learnjava。innerclass;classLocalInner{inta=1;publicvoiddoSomething(){intb=2;finalintc=3;//定義一個局部內部類classInner3{publicvoidtest(){System。

out。println(HelloWorld);System。out。println(a);//不可以訪問非final的局部變量//error:Cannotrefertoanon-finalvariablebinsideaninner//classdefinedinadifferentmethod//System。

out。println(b);//可以訪問final變量System。out。println(c);}}//創建局部內部類的實例并調用方法newInner3()。test();}}publicclassLocalInnerClassTest{publicstaticvoidmain(String[]args){//創建外部類對象LocalInnerinner=newLocalInner();//調用外部類的方法inner。

doSomething();}}匿名內部類AnonymousInnerClass匿名內部類就是沒有名字的局部內部類,不使用關鍵字class,extends,implements,沒有構造方法。匿名內部類隱式地繼承了一個父類或者實現了一個接口。

匿名內部類使用得比較多,通常是作為一個方法參數。生成的。class文件中,匿名類會生成OuterClass$1。class文件,數字根據是第幾個匿名類而類推。示例代碼:packagecom。learnjava。innerclass;importjava。

util。Date;publicclassAnonymouseInnerClass{@SuppressWarnings(deprecation)publicStringgetDate(Datedate){returndate。toLocaleString();}publicstaticvoidmain(String[]args){AnonymouseInnerClasstest=newAnonymouseInnerClass();//打印日期:Stringstr=test。

getDate(newDate());System。out。println(str);System。out。println(----------------);//使用匿名內部類Stringstr2=test。getDate(newDate(){});//使用了花括號,但是不填入內容,執行結果和上面的完全一致//生成了一個繼承了Date類的子類的對象System。

out。println(str2);System。out。println(----------------);//使用匿名內部類,并且重寫父類中的方法Stringstr3=test。getDate(newDate(){//重寫父類中的方法@Override@DeprecatedpublicStringtoLocaleString(){returnHello: super。

toLocaleString();}});System。out。println(str3);}}。

全部

總結

以上是生活随笔為你收集整理的java内部类为什么会持有外部类的引用_为什么内部类持有外部类的引?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 九九视频精品在线 | 黄色片毛片 | 日韩欧美在线中文字幕 | 特黄aaaaaa私密按摩 | 亚洲色鬼 | 免费在线观看黄色网址 | 在线视频1卡二卡三卡 | 91av视频在线| 中文字幕在线观看一区二区三区 | 午夜视频在线免费播放 | 欧美日韩精品一区二区 | 久久理论电影 | 国产精品女人久久久 | 亚洲不卡中文字幕无码 | 国产视频久久久 | 天天摸天天操天天射 | 国产毛片欧美毛片久久久 | 免费黄网在线看 | 色图av | 在线播放国产一区 | 男生舔女生胸 | 一级全黄裸体免费视频 | 91肉色超薄丝袜脚交一区二区 | 涩涩屋视频在线观看 | 国产白浆在线观看 | 伊人久久97 | 中文字幕一区久久 | 日韩欧美精品中文字幕 | 足交在线观看 | 亚洲精品色图 | 欧美日韩亚洲精品内裤 | 最好看的日本字幕mv视频大全 | 久久美女免费视频 | 翔田千里一区二区 | 国产三区四区视频 | 欧美视频一区二区在线 | 成人免费直播 | 91社区在线播放 | 91国语对白| 精品日本一区二区三区在线观看 | 青青草视频成人 | 在线免费激情视频 | 亚洲区国产区 | 香蕉久久av一区二区三区 | 一级免费av | 亚洲美女性生活视频 | 内射后入在线观看一区 | 日本午夜在线 | 日韩xxx视频 | 欧美色图13p| 欧美一区精品 | 成人aaaa | 亚洲免费一| 欧美日韩一区在线观看 | 美女又黄又免费 | 一级黄色大片免费看 | 美女黄视频大全 | 一区二区三区四区在线免费观看 | 亚洲97 | 中文字幕亚洲精品 | 亚洲美女中文字幕 | 午夜小福利 | 国产精品视频在线观看免费 | 激情欧美一区 | 国产乱国产乱老熟 | av电影在线观看网址 | 国精产品一区一区三区有限公司杨 | 一区二区三区爱爱 | 性生交大片免费看 | www.亚洲激情 | 男女日日| 最新av| 欧美精品二区三区 | 亚洲av无码国产精品久久不卡 | 国产九九九| 日韩免费一二三区 | 日韩小视频在线 | 午夜精品一区二区在线观看 | 精品无码三级在线观看视频 | 26uuu欧美日本 | 精品视频久久久久 | avtt2015| 黄色福利 | 国产男女无套 | 伊人久久伊人 | 亚洲欧美日韩天堂 | 青青草97| c逼| 中国videosex高潮hd | 越南a级片| 操丰满女人 | 新91av| 亚洲乱色熟女一区二区 | 99热手机在线观看 | 黄网在线观看视频 | 国产亚洲成av人在线观看导航 | 欧美综合一区 | 99ri视频 | va在线播放 |