大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 Javase基礎-內部類,內涵全套免費視頻教程

Javase基礎-內部類,內涵全套免費視頻教程

更新時間:2020-02-05 09:19:58 來源:動力節點 瀏覽2666次


Javase基礎-內部類,內涵全套免費視頻教程


  內部類


  可以將一個類定義放在另一個類的定義內部,這就是內部類。


  創建內部類


  如果想從外部類的非靜態方法之外的任意位置創建某個內部類的對象,那么必須具體地指明這個對象的類型:OuterClassName.InnerClassName(外部類名.內部類名)。


  鏈接到外部類


  當生成一個內部類的對象時,此對象與制造它的外圍對象之間就有了一種聯系,所以它能訪問其外為對象的所有成員,而不需要任何特殊條件。此外,內部類還擁有其外圍類的所有元素的訪問權。


  所有內部類自動擁有對其外圍類所有成員的訪問權。這是如何做到的呢?當某個外圍類的對象創建了一個內部類對象時,此內部類對象必定會秘密地捕獲一個指向那個外圍類對象的引用。然后,在你訪問此外圍類的成員時,就是用那個引用來選擇外圍類的成員。幸運的是,編譯器會幫你處理所有的細節,但你現在可以看到:內部類的對象只能在與其外圍類的對象相關聯的情況下才能被創建(就像你應該看到的,在內部類是非static類時)。構建內部類對象時,需要一個指向其外圍類對象的引用,如果編譯器訪問不到這個引用就會報錯。不過絕大多數時候這都無需程序員操心。


  使用.this與.new


  如果你需要生成外部類對象的引用,可以使用外部類的名字后面緊跟遠點和this。


  publicclassDotThis{


  voidf(){System.out.println("DotThis.f()");}


  publicclassInner{


  publicDotThisouter(){


  returnDotThis.this;


  }


  }


  publicInnerinner(){


  returnnewInner();


  }


  publicstaticvoidmain(String[]args){


  DotThisdt=newDotThis();


  DotThis.Innerin=dt.inner();


  in.outer().f();


  }


  }


  要創建某個內部類的對象,你必須在new表達式中提供其他外部類的對象的引用個,這里需要使用.new方法。


  publicclassDotNew{


  publicclassInner{


  publicintf(){


  return11;


  }


  }


  publicstaticvoidmain(String[]args){


  DotNewdt=newDotNew();


  DotNew.Innerin=dt.newInner();


  System.out.println(in.f());


  }


  }


  由上可以總結出創建內部類對象有兩種途徑:


  1)在內部類創建一個方法,該方法指向內部類的一個引用,如代碼一中的inner()方法:


  publicInnerinner(){


  returnnewInner();


  }


  2)使用.new創建一個內部類對象,如代碼二中:


  DotNewdt=newDotNew();


  DotNew.Innerin=dt.newInner();


  內部類與向上轉型


  當將內部類向上轉型為其基類,尤其是轉型為一個接口的時候,內部類就有了用武之地。(從實現了某個接口的對象,得到對此接口的引用,與向上轉型為這個對象的基類,實質上效果是一樣的。)這是因為此內部類----某個接口的實現----能夠完全不可見,并且不可用。所得到的只是指向基類或者接口的引用,所以能夠很方便地隱藏實現細節。


  如果客戶端程序員想了解或訪問這些成員,那是要受到限制的。實際上,甚至不能向下轉型成為private內部類(或protected內部類,除非是繼承自它的子類),因為不能訪問其名字,就像在TestParcel類中看到的那樣。于是,private內部類給類的設計者提供了一種途徑,通過這種方式可以完全阻止任何依賴于類型的編碼,并且完全隱藏了實現的細節


  可以在一個方法里面或者在任意的作用域定義內部類。這么做有倆個理由:


  1)如前面所講,你實現了某類型的幾口,于是可以創建并返回對其的引用


  2)你要解決一個復雜的問題,想創建一個類輔助你的解決方案,但是又不想這個類是公共可用的。


  動力節點Javase相關視頻免費下載學習


  Javase視頻教程【301集】:http://www.dabaquan.cn/v104/


  Java視頻下載【JavaSE進階】:http://www.dabaquan.cn/v61/


Javase基礎-內部類,內涵全套免費視頻教程


       以上就是動力節點Java培訓機構小編介紹的“Javase基礎-內部類,內涵全套免費視頻教程”的內容,希望對大家有幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。


  相關內容


  最新Java學習路線(適用于初學者)


  系統學習Java后端開發線路


  Javase——IO流概述、特點及其分類


提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 色综合合久久天天给综看 | 国产一区二区三区精品久久呦 | 国产久视频观看 | 高清不卡一区二区三区 | 美国毛片一级e片黑人片 | 国内精品一区二区2021在线 | 国产成人精品曰本亚洲 | 狠狠操天天操夜夜操 | 亚洲乱码在线视频 | 亚洲图欧美日韩色综合图 | 成人免费毛片一区二区三区 | 亚洲精品一区国产二区 | 亚洲久久成人 | 婷婷综合激情五月中文字幕 | 欧美男人天堂网 | 亚洲国产欧洲综合997久久 | 色老久久精品偷偷鲁一区 | 欧美综合视频在线 | 国产一级在线观看www色 | 99国产高清久久久久久网站 | 久久天堂网 | 男人深夜影院 | 日本一级毛片2021免费 | 九九视频在线观看视频23 | 波多野结中文字幕在线69视频 | 视频一区在线 | 四虎影视最新2019百度 | 中文字幕久热 | 国产欧美亚洲精品第一区 | 中文字幕 亚洲精品 | 欧美xxxxbbbb在线播放 | 日本不卡免费新一区二区三区 | 精品久久久久久综合日本 | 亚洲精品麻豆一区二区 | 成人国内精品久久久久影 | 天天干视频 | 九九久久99综合一区二区 | 久久免费国产精品一区二区 | 青久草视频 | 性生生活网站免费 | 四虎tv|