匿名內(nèi)部類----一種代碼的封裝形式

  • 匿名內(nèi)部類就是內(nèi)部類的間寫格式
    new 父類或者接口(){ 定義子類對(duì)象 }
  • 前提:
    內(nèi)部類必須繼承一個(gè)類或一個(gè)接口季二。
abstract class AbsDemo{
    abstract void show();
}
class Outer{
    int x = 3;
  /*將一下代碼簡化為匿名內(nèi)部類       藍(lán)色部分為使用匿名對(duì)象方法之前的寫法!
    class  Inner extends AbsDemo{    
        void show(){
            System.out.println("show :" +x);
        }
    }
    */
    public void function(){
        //new Inner().method();
        //重點(diǎn):
        new AbsDemo(){        //匿名內(nèi)部類息堂,沒名字,一般只調(diào)用一次!
            void show(){
                System.out.println("show :" +x);
            }
        }.show();    //點(diǎn)號(hào)前面的是一個(gè)AbsDemo的匿名子類對(duì)象甥捺。
    }
}

class InnerClassDemo4{
    public static void main(String[] args){
        new Outer().function();
    }
}
  • 匿名內(nèi)部類就是一個(gè)字類對(duì)象,只是這個(gè)對(duì)象有點(diǎn)胖镀层,且只能使用一次镰禾!
  • 用匿名對(duì)像的目的: 就是為了簡化書寫,覆蓋(復(fù)寫)方法唱逢。
  • 方法太多不適合用匿名類吴侦,會(huì)降低代碼可讀性。一般方法不要超過三個(gè)坞古。

練習(xí):補(bǔ)全代碼

     interface Inter{
    void method();
}
class Test{
    /* 下面是內(nèi)部類备韧,但不是匿名內(nèi)部類。
    staticclass Inner implements Inter{
        public void method(){
            System.out.println("method : ");
        }
    }
    static Inner function(){
        Inner i1 = new Inner();
        return i1;
    }
    */ 
    //補(bǔ)足代碼痪枫,通過匿名內(nèi)部類织堂。
    static Inter function(){
        return new Inter(){    //匿名內(nèi)部類叠艳,返回Inter類型的對(duì)象。
            public void method(){
            System.out.println("method : ");
        }
        };
    }
}
class InnerClassDemo5{
    public static void main(String[] args){
        //理解:
        //Test.function():Test類中有一個(gè)靜態(tài)的方法function捧挺。
        //.method():function()這個(gè)方法執(zhí)行后的結(jié)果是一個(gè)對(duì)象虑绵,而且是一個(gè)Inter類型的對(duì)象。
        //因?yàn)橹挥蠭nter類型的對(duì)象闽烙,才可以調(diào)用method方法。
        Test.function().method();
    }
}
  • 常用情景:
    interface Inter{
    void method();
}
class Test{
    /* 下面是內(nèi)部類声搁,但不是匿名內(nèi)部類黑竞。
    staticclass Inner implements Inter{
        public void method(){
            System.out.println("method : ");
        }
    }
    static Inner function(){
        Inner i1 = new Inner();
        return i1;
    }
    */ 
    //補(bǔ)足代碼,通過匿名內(nèi)部類疏旨。
    static Inter function(){
        return new Inter(){    //匿名內(nèi)部類很魂,返回Inter類型的對(duì)象。
            public void method(){
            System.out.println("method : ");
        }
        };
    }
}
class InnerClassDemo5{
    public static void main(String[] args){
        //理解:
        //Test.function():Test類中有一個(gè)靜態(tài)的方法function檐涝。
        //.method():function()這個(gè)方法執(zhí)行后的結(jié)果是一個(gè)對(duì)象遏匆,而且是一個(gè)Inter類型的對(duì)象。
        //因?yàn)橹挥蠭nter類型的對(duì)象谁榜,才可以調(diào)用method方法幅聘。
        Test.function().method();
        //常用場景
        show(new Inter(){
            public void method(){
                System.out.println("method show run ");
            }
        });    //注意這個(gè)分號(hào)不要省略。
    }
    public void static show(Inter in){
        in.method();
    }
} 
  • 面試題:
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末窃植,一起剝皮案震驚了整個(gè)濱河市帝蒿,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌巷怜,老刑警劉巖葛超,帶你破解...
    沈念sama閱讀 217,277評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異延塑,居然都是意外死亡绣张,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門关带,熙熙樓的掌柜王于貴愁眉苦臉地迎上來侥涵,“玉大人,你說我怎么就攤上這事豫缨《懒睿” “怎么了?”我有些...
    開封第一講書人閱讀 163,624評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵好芭,是天一觀的道長燃箭。 經(jīng)常有香客問我,道長舍败,這世上最難降的妖魔是什么招狸? 我笑而不...
    開封第一講書人閱讀 58,356評(píng)論 1 293
  • 正文 為了忘掉前任敬拓,我火速辦了婚禮,結(jié)果婚禮上裙戏,老公的妹妹穿的比我還像新娘乘凸。我一直安慰自己,他們只是感情好累榜,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評(píng)論 6 392
  • 文/花漫 我一把揭開白布营勤。 她就那樣靜靜地躺著,像睡著了一般壹罚。 火紅的嫁衣襯著肌膚如雪葛作。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,292評(píng)論 1 301
  • 那天猖凛,我揣著相機(jī)與錄音赂蠢,去河邊找鬼。 笑死辨泳,一個(gè)胖子當(dāng)著我的面吹牛虱岂,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播菠红,決...
    沈念sama閱讀 40,135評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼第岖,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼!你這毒婦竟也來了途乃?” 一聲冷哼從身側(cè)響起绍傲,我...
    開封第一講書人閱讀 38,992評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎耍共,沒想到半個(gè)月后烫饼,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,429評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡试读,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評(píng)論 3 334
  • 正文 我和宋清朗相戀三年杠纵,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片钩骇。...
    茶點(diǎn)故事閱讀 39,785評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡比藻,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出倘屹,到底是詐尸還是另有隱情银亲,我是刑警寧澤,帶...
    沈念sama閱讀 35,492評(píng)論 5 345
  • 正文 年R本政府宣布纽匙,位于F島的核電站务蝠,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏烛缔。R本人自食惡果不足惜馏段,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評(píng)論 3 328
  • 文/蒙蒙 一轩拨、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧院喜,春花似錦亡蓉、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至硫麻,卻和暖如春梯影,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背庶香。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留简识,地道東北人赶掖。 一個(gè)月前我還...
    沈念sama閱讀 47,891評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像七扰,于是被迫代替她去往敵國和親奢赂。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 一颈走、基礎(chǔ)知識(shí):1膳灶、JVM、JRE和JDK的區(qū)別:JVM(Java Virtual Machine):java虛擬機(jī)...
    殺小賊閱讀 2,378評(píng)論 0 4
  • 有時(shí)候我們下載的項(xiàng)目運(yùn)行會(huì)報(bào)此錯(cuò)誤解決方法如下:在moudle的build.gradle中將classpath修改...
    爺珍愛那顆心閱讀 356評(píng)論 0 0
  • 61-跑步前立由、中轧钓、后的注意事項(xiàng) 跑前:晨跑,建議大家空腹锐膜,跑前適當(dāng)喝一點(diǎn)水毕箍。晨跑需要先安靜地活動(dòng)半個(gè)小時(shí)左右,慢跑...
    嘟嘟派閱讀 307評(píng)論 0 0
  • 2018年1月1日李艷陽媽媽道盏,這是我第一次寫感悟而柑,沒想到我女兒自己想這看書,是看她姐姐看書了還是她自想這看說的新的...
    李民李艷陽閱讀 260評(píng)論 0 0