千鋒長沙Java培訓:匿名內部類講解
很多同學在學習Java的時候,都聽說過匿名內部類,那匿名內部類到底是什么呢?你可以挺過很多書或者其他教程說過匿名內部類是一個類或者一個接口的子類對象,又或者說匿名內部類是一個類的匿名子類等等,但是種種這些都是說說而已,今天千鋒長沙Java培訓講師就來揭開匿名內部類神秘的面紗,讓大家真真切切看到匿名內部類到底是什么?
首先我們寫下面這么一個關于匿名內部類的代碼,然后反編譯查看.class文件的內容,就可以揭開匿名內部類神秘的面紗。
public class Test {
public static void main(String[] args) {
new Fu(){
@Override
public void method() {
System.out.println("匿名內部類重新抽象父類方法");
}
}.method();
}
}
abstract class Fu {
public abstract void method();
}
運行結果截圖如下↓
好像看不出匿名內部類到底是什么?別著急,我們找到剛剛運行代碼的.class文件,通過我們的Xjad軟件反編譯查看一下就可以知道真相。我們發現,.class文件多了一個叫Test$1.class,好奇怪,我們只是寫了測試類Test和父類Fu,那么這個多出來的就是匿名內部類,我們反編譯這個匿名內部類就可以知道真相↓
通過反編譯對比,我們知道,匿名內部類,其實就是匿名的子類而已↓
以后,我們就可以大膽的說,匿名內部類,其實就是匿名的子類而已,只不過你隱藏在.class文件里面你看不到,所以叫匿名內部類。

猜你喜歡LIKE
最新文章NEW
相關推薦HOT
更多>>熱門推薦
零基礎必看的前端HTML+CSS教程
沸Java培訓新手實戰必備!單機版坦克大戰分步實現項目源碼
熱3種Javascript圖片預加載的方法詳解
熱長沙前端培訓:一招教你用vue3+canvas實現坦克大戰
新互聯網涼了?參加長沙Java培訓能找到工作嗎?
長沙Java培訓實戰項目,出游咨詢訂票系統開發流程
不參加長沙Java培訓能學會Java嗎?2022Java技能學習路線圖
千鋒長沙Java培訓分享之怎么學習Java集合?
千鋒長沙前端培訓分享之JavaScript面向對象編程思想詳解
千鋒長沙前端培訓分享之web前端的回流和重繪
千鋒長沙前端培訓分享之3種Javascript圖片預加載的方法詳解
千鋒長沙前端培訓分享之利用Jest測試React組件
千鋒長沙前端培訓分享之JavaScript中Slice的用例
千鋒長沙java培訓分享之Socket編程