java中,剩下的这两个内部类不太好理解!
點擊上方藍色關注我們!
大家好,我是雄雄,今天我們接著昨天的分享,將剩余的兩個內部類(方法內部類和匿名內部類)結束掉,這兩個內部類都不太好理解。
昨天的推文:java中常見的幾種內部類,你會幾個?(未完)
書接上文,昨天我們說到了java中的內部類有四種,分別是:靜態內部類、成員內部類、方法內部類、匿名內部類,其中前面兩種(靜態內部類和成員內部類)我們在昨天已經講過,現在我們來看看后兩種。
方法內部類
顧名思義,一看名字就知道意思系列,方法內部類即在方法的內部聲明一個類,代碼如下:
//外部類 public?class?People?{private?String name ;//方法public?People show(){//內部類class?Man?extends?People{//內部類中的方法public?void?getMan(){System.out.println("名稱是:"+name);System.out.println("執行內部類的方法");}}//創建內部類的對象Man man = new?Man();//調用內部類的方法man.getMan();return?new?Man();}//main方法public?static?void?main(String[] args) {People people = new?People();people.name = "雄雄的小課堂";people.show();} }代碼分析:
有一外部類People,然后在里面有一屬性name,還有一方法show();接著在show()方法內部創建了一個名為Man的內部類,這里都好說,不好說的是后面調用的時候可能有的伙伴們一下子想不起來;
我們只需要在外部類的這個方法(show())里面實例化內部類,通過該對象名即可調用內部類中的方法。
//方法public?People show(){//內部類class?Man?extends?People{//內部類中的方法public?void?getMan(){System.out.println("名稱是:"+name);System.out.println("執行內部類的方法");}}//創建內部類的對象Man man = new?Man();//調用內部類的方法man.getMan();return?new?Man();}注意,方法內部類相當于方法里面的一個局部變量一樣,不能有public?、private、 static 類的關鍵詞修飾。一般這種方法用的很少。
匿名內部類
匿名內部類和前面介紹的內部類不同,匿名內部類沒有單獨定義類而是通過new后面是父類或者接口時創建的,代碼如下:
People接口:
//外部接口 public?interface?People?{//吃飯public?void?eat(); }Man類:
public?class?Man{public?static?void?show(){//匿名類People p = new?People() {@Overridepublic?void?eat() {System.out.println("正在吃飯……");}};p.eat();}public?static?void?main(String[] args) {Man man = new?Man();man.show();} }運行結果如圖所示:
總結:匿名內部類是沒有名字的,所以只能使用一次,他是用來簡化代碼的,使用的時候,必須繼承一個父類或者實現一個接口。
下期內容更精彩,歡迎關注【雄雄的小課堂】
粉絲群
▲每天都會有不定額的紅包發放,了解公眾號文章、抽獎最新資訊。
往期推薦
java中常見的幾種內部類,你會幾個?(未完)
java中你知道的這四種代碼塊嗎?
切記!構造函數里面別一定不要初始化其他類,踩過坑的都知道
淺談我的讀書史(2)
淺談我的讀書史(1)
總結
以上是生活随笔為你收集整理的java中,剩下的这两个内部类不太好理解!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AI 大模型数据标注“民工”月入不过 5
- 下一篇: 让java的多重继承成为现实!