老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

匿名內部類的理解(java+Android)-創新互聯

是不是有同學跟我一樣學了知識,不使用,一段時間就忘了? 今天說說java的匿名內部類這個東西,今天就因為這個東西被程序媛欺負了,我心里難受啊。
在這里插入圖片描述

網站的建設成都創新互聯公司專注網站定制,經驗豐富,不做模板,主營網站定制開發.小程序定制開發,H5頁面制作!給你煥然一新的設計體驗!已為社區文化墻等企業提供專業服務。

匿名內部類的官方說法特別不容易理解,是從"有沒有名字"給它命名,而不是功能命名,導致很多人學了都不知道怎么用,考試厲害實操菜,今天就說說匿名內部類的經典實操案例。廢話到此結束!

一、簡單案例(錯誤案例)

首先,先看一個簡單的使用案例,假設:程序媛有一個寫好的類叫做HerClass

//程序媛的類
public class HerClass {public void onChange(String content){//順序: 3
    }

}

我的類要去實例化她的類,并且調用她的方法

//我的類
public class MyClass {public static void main(String args[]) {HerClass herClass=new HerClass(){@Override
            public void onChange(String content) {//順序:2
                super.onChange(content);
            }
        };

        //順序:1
        herClass.onChange("傳輸的數據");

    }

}

代碼跑起來的順序如代碼中的注釋,順序1-2-3。 很多網上的寫法都是這么干的,確實沒啥毛病,但是這么寫有什么意義呢? 不具備實際使用意義,不會有這種需求。

二、匿名內部類的正確使用方法(正解案例)

我以安卓中的Handle為例子,學習Android的同學一定知道Android切到UI線程的Handle.

public class Demo {public static void main(String args[]) {//順序:1(子線程)
        Message message=new Message();
        message.what=999;
        handler.sendMessage(message);
    }

    android.os.Handler handler=new Handler(Looper.getMainLooper()){@Override
        public void handleMessage(@NonNull Message msg) {//順序:2(主線程)
            int data=msg.what;//得到數據999
            super.handleMessage(msg);
        }
    };

}

main方法中通過handler.sendMessage()把消息發送到Handler類中,Handler類進行一系列的處理(也就是轉到UI線程),之后調用handleMessage()方法,此時調到的方法就是我們匿名內部類里面的方法,而且是轉了線程的。

三、回到我和程序媛的故事

看了Android的Handle案例,我們把之前的錯誤案例改一版,改成有意義的案例。
假如:我讓程序媛幫我算一算這個星期我花了多少錢,她可能要算五分鐘,或者十分鐘,這個過程不需要我等待,算好后她主動告訴我。

我的類:
//我的類
public class MyClass {public static void main(String args[]) {HerClass herClass=new HerClass(){@Override
            public void onChange(String content) {Log.d("fxHou","順序:3 我得到他計算的結果");
                //順序:3
                super.onChange(content);
            }
        };

        Log.d("fxHou","順序:1 我告訴程序媛,幫我算一算");
        //順序:1 我告訴程序媛,幫我算一算
        herClass.option("我這個星期的花錢記錄");

    }

}
她的類
//程序媛的類
public class HerClass {public void onChange(String content){Log.d("fxHou","順序:4 她自己存檔一份");
        //順序:4
    }

    public void option(Object data){Log.d("fxHou","順序:2 程序媛開始幫我計算");
        //順序:2
        // TODO: 2023/1/11 程序媛開始幫我計算,計算可以使五分鐘,十分鐘,或者更久。

        //計算好之后把結果通知回去
        onChange("計算結果");
    }

}

數據打印結果

2023-01-11 19:19:56.370 11608-11608 fxHou                   com.example.cavasdemo                D  順序:1 我告訴程序媛,幫我算一算
2023-01-11 19:19:56.370 11608-11608 fxHou                   com.example.cavasdemo                D  順序:2 程序媛開始幫我計算
2023-01-11 19:19:56.370 11608-11608 fxHou                   com.example.cavasdemo                D  順序:3 我得到他計算的結果
2023-01-11 19:19:56.370 11608-11608 fxHou                   com.example.cavasdemo                D  順序:4 她自己存檔一份

梳理一下這份代碼,發現,它形成了一種觀察者模式,好好整理完全可以封裝出一套觀察者工具(后期出)。

四、拓展(用匿名內部類觀察底層API數據)

有時候我們需要拿底層API某個方法里面的數據,發現API沒有提供獲取的方法,而且我們只有只讀權限,這時候匿名內部類就能派上用場,只要這個方法是public void就行。

//假設:這是某個我們只有只讀權限的API
public class someoneApi {public void onChange(String canInfo){//假設:這里有一大堆邏輯,但是沒有提供方法讓我們獲取canInfo
    }

}

觀察數據的類

public class MyClass {public static void main(String args[]) {someoneApi herClass=new someoneApi(){@Override
            public void onChange(String canInfo) {//輕松得到canInfo
                super.onChange(canInfo);
            }
        };

    }

}

同理,這種辦法也可以用在兩個開發人員之間的代碼通信,有時候我們想要獲取祖傳代碼的參數數據,但是又不想動祖傳代碼,一樣可以這么做。

完。。。。。。。蛋

你是否還在尋找穩定的海外服務器提供商?創新互聯www.cdcxhl.cn海外機房具備T級流量清洗系統配攻擊溯源,準確流量調度確保服務器高可用性,企業級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧


本文標題:匿名內部類的理解(java+Android)-創新互聯
URL網址:http://www.xueling.net.cn/article/dgjisd.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 91人人视频在线观看 | 国产有码在线观看 | 中文字幕中文字字幕码一二区 | 欧美伊香蕉久久综合网99 | 五月婷久久综合狠狠爱97 | 国产午夜精品在线 | 蜜芽AⅤ色欲AV浪潮夜夜嗨 | 国产精品一区二区在线观看网站 | 欧美激情精品久久久久久久久久 | 欧美亚洲韩国国产综合五月天 | 亚洲精品不卡无码福利在线观看 | 亚洲国产精品成人av | 日本一二三区在线 | 91福利片| 日日摸日日碰夜夜爽无 | 国内精品自国内精品自线 | 午夜亚洲国产理论片亚洲2020 | 十六以下岁女子毛片免费 | 亚洲一区二区在线观 | 欧美性xxxx最大尺码 | 国产精品麻豆视频 | 免费观看18禁无遮挡真人网站 | 99国产精品一区二区 | 日本不卡视频一区二区 | 久久久久久九九九九九九 | 国产超爽超碰人人做wwwcom | 久艹视频在线观看 | 精品久久久久久久一区二区蜜臀 | 色综合久久久久久久久久久 | 黑人干白妞 | 亚洲欧美中日韩 | wwwjizz欧美| 亚洲欧美综合区丁香五月小说 | 男女国产视频 | 在线?看视频91 | 黄色免费毛片 | 婷婷人人爽人人爽人人片 | 欧美人与动人物牲交免费观看 | 黄色入口网站 | 潜行者40集连续剧免费观看 | 国产乱码精品一区二区三区爽爽爽 |