java語言基礎 49 匿名內部類的本質理解

2021-08-01 02:03:04 字數 635 閱讀 1500

1 匿名內部類就是內部類的簡化寫法

2 前提,存在乙個類或介面

3 格式: new 類名或介面名()

4 好處:用完即**。少佔記憶體。

上**:

inte***ce inner  // 介面

abstract class innerclass // 抽象類 也可以是具體類

class outer

}.show(); //輸出 inner show

// 抽象類匿名內部類 多型思想 呼叫多個方法

innerclass ic = new innerclass()

public void show2()

}; ic.show(); //innerclass show

ic.show2();//innerclass show2 }

} class anonymousinnerclasstest

}

抽象類和介面本來是不可以new操作的,但是此處可以,那是因為new 和 實現同時進行了。匿名 new  介面時,相當於new了乙個實現了此介面的物件。匿名new抽象類時,相當於new了乙個繼承了此抽象類的子類物件。然後,物件可以呼叫其對應的方法。

java基礎 匿名內部類

內部類 概念 把類定義在其他類的內部,這個類就是內部類。比如說在類a中定義了乙個內部類b,類 b就是乙個內部類。內部類的訪問特點 a 內部類可以直接訪問外部類的成員,包括私有。b 外部類要訪問內部類,必須建立物件 內部類的位置 成員內部類 類中方法外 區域性內部類 方法中 成員內部類 外部類建立物件...

java基礎 匿名內部類

詳解 匿名內部類 現在有乙個抽象的animal類,其中有乙個抽象eat 方法,如何呼叫eat 方法。普通做法是,建立乙個子類cat繼承animal,然後重寫eat 方法,建立物件cat c new cat 呼叫eat 方法。我們可以簡便寫為 new cat eat 其中new cat 就是cat類的...

java基礎 內部類和匿名內部類

內部類 class a 編譯後的結果 內部類編譯後都是以這種形式 外部類 內部類 如何生成內部類 class test 注意點 class a b是a的內部類,b可以使用a的成員變數,但不是繼承它,僅僅是可以使用。匿名內部類 正常的程式 inte ce aclass b class aimpl im...