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...