千鋒教育Java入門全套視頻教程(java核心技術(shù),適合java零基礎(chǔ),Java

Java常用內(nèi)部類
1、定義:在類的內(nèi)部定義另一個(gè)完整的類,類的嵌套
2、內(nèi)部類的分類:
(1)局部內(nèi)部類:定義在類中的方法中,在定義類的代碼之后直接創(chuàng)建,作用范圍僅限于本方法中。
作用:承載更多的數(shù)據(jù),限制訪問范圍
注意:在局部內(nèi)部類中訪問方法中的局部變量,局部變量需要使用final修飾,使得生命周期更長。
(2)成員內(nèi)部類:定義位置在類中方法外,創(chuàng)建對(duì)象時(shí)候需要先創(chuàng)建外部類對(duì)象,成員內(nèi)部類可以訪問外部類中所有的內(nèi)容。
創(chuàng)建對(duì)象方法:外部類.內(nèi)部類 對(duì)象名 = 外部類對(duì)象.new 內(nèi)部類的構(gòu)造器();
作用:承載更多的數(shù)據(jù),和外部類關(guān)聯(lián)比較緊密
注意:變量名重名的時(shí)候需要區(qū)分(外部類.this.內(nèi)部類屬性)
(3)靜態(tài)內(nèi)部類:定義位置在類中方法外,使用static修飾,可以直接使用類名調(diào)用創(chuàng)建對(duì)象。
創(chuàng)建對(duì)象方法:靜態(tài)內(nèi)部類創(chuàng)建對(duì)象不在依賴外部類對(duì)象,外部類.內(nèi)部類 對(duì)象名 = new 外部類.內(nèi)部類的構(gòu)造器
作用:如果內(nèi)容需要加載的時(shí)機(jī)很早,可以使用靜態(tài)實(shí)現(xiàn)注意:只能調(diào)用靜態(tài)數(shù)據(jù),不能訪問非靜態(tài)成員
(4)匿名內(nèi)部類:定義位置在方法中,沒有名字。
匿名內(nèi)部類創(chuàng)建對(duì)象:new接口/抽象類(構(gòu)造的參數(shù)列表){匿名的局部內(nèi)部類},并且需要重寫方法。
作用:更方便的創(chuàng)建對(duì)象。
注意:接口和抽象類不能存在過多的方法。