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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

微型技术博客之匿名内部类

發布時間:2023/12/16 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 微型技术博客之匿名内部类 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這學期選修了安卓手機平臺開發課程,開發使用的是java語言,所以在這個過程中我又鞏固了很多java的知識點,我記得在前年下半年的時候我學了java這門課程,但是后來有很長一段時間沒有寫java程序了,導致有很多語法什么之類的慢慢淡忘,現在借此機會,又慢慢的一點點的撿拾起來了。今天我的這篇微型技術博客探討的就是java里面的匿名內部類。

1.匿名內部類其實就是內部類的簡寫格式。

2..定義匿名內部類的前提:內部類必須是繼承一個抽象類或者實現接口。只要一個類是抽象的或是一個接口,那么其子類中的方??? 法都可以使用匿名內部類來實現

3.匿名內部類的格式:? new 父類或者接口(){定義子類的內容}

4.其實匿名內部類就是一個匿名子類對象

5.使用匿名內部類我們必須要繼承一個父類或者實現一個接口,當然也僅能只繼承一個父類或者實現一個接口。同時它也是沒有class關鍵字,這是因為匿名內部類是直接使用new來生成一個對象的引用。當然這個引用是隱式的。

6.注意點:

? ? ? 匿名內部類中是不能定義構造函數的。

????? 匿名內部類中不能存在任何的靜態成員變量和靜態方法。

????? 匿名內部類為局部內部類,所以局部內部類的所有限制同樣對匿名內部類生效。

????? 匿名內部類不能是抽象的,它必須要實現繼承的類或者實現的接口的所有抽象方法

1匿名內部類的實現
?
abstractclass Time{
? ? publicabstractvoid starttime();
}
?
publicclass Date{
? ? publicstaticvoid main(String[] args) {
? ? ? ? ?Time t =new Time(){
? ? ? ? ? ? publicvoid starttime() {
? ? ? ? ? ? ? ? System.out.println("the time used is:");
? ? ? ? ? ? }
? ? ? ? };
? ? ? ? t.starttime();
? ? }
}
?
在接口上使用匿名內部類
interface Time {
? ? publicvoid starttime();
}
publicclass Date{
? ? publicstaticvoid main(String[] args) {
? ? ? ? ?Time t =new Time(){
? ? ? ? ? ? publicvoid starttime() {
? ? ? ? ? ? ? ? System.out.println("the time used is:");
? ? ? ? ? ? }
? ? ? ? };
? ? ? ? t.starttime();
? ? }
}
?
?多線程實現匿名內部類
publicclass Sum{
? ? publicstaticvoid main(String[] args) {
? ? ? ? Thread s= new Thread() {
publicvoid count() {
? i=1;
?S=0;
? ? ? ? ? ? ? ? while(i<=100) {
? ? ? ? ? ? ? ? ?s=s+i;
? ? ? ? ? ? ? ? ?i++;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
}
System.out.print(s);
?
? ? ? ? };
? ? ? ? s.start();
? ? }
}
?
Runnable接口內部類實現
publicclass Sum{
? ? publicstaticvoid main(String[] args) {
? ? ? ? Runnabler = new Runnable(){
publicvoid count() {
?i=1;
?S=0;
? ? ? ? ? ? ? ? while(i<=100) {
? ? ? ? ? ? ? ? ?s=s+i;
? ? ? ? ? ? ? ? ?i++;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
}
System.out.print(s);
?
? ? ? ? };
? ? ? ? s.start();


publicclass TestAnonymousInterClass{ ?
? ? publicstaticvoid main(String args[]){ ?
? ? ? ? TestAnonymousInterClass test=new TestAnonymousInterClass(); ?
? ? ? ? test.show(); ?
? ? } ?
? ? //在這個方法中構造了一個匿名內部類 ?
? ? privatevoid show(){ ?
? ? ? ? Out anonyInter=new Out(){// 獲取匿名內部類實例 ?
? ? ? ? ? ? ??
? ? ? ? ? ? void show(){//重寫父類的方法 ?
? ? ? ? ? ? ? ? System.out.println("this is Anonymous InterClass showing."); ?
? ? ? ? ? ? } ?
? ? ? ? }; ?
? ? ? ? anonyInter.show();// 調用其方法 ?
? ? } ?
} ??
?
// 這是一個已經存在的類,匿名內部類通過重寫其方法,將會獲得另外的實現 ?
class Out{ ?
? ? void show(){ ?
? ? ? ? System.out.println("this is Out showing."); ?
? ? } ?
}?





總結

以上是生活随笔為你收集整理的微型技术博客之匿名内部类的全部內容,希望文章能夠幫你解決所遇到的問題。

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