匿名內部類是內部類的簡寫格式。 定義匿名內部類的前提: 內部類必須是繼承一個類或者實現一個介面。 匿名內部類的格式: 其實匿名內部類就是一個匿名子類對象,就是把定義類和建立對象封裝在一起的一種表現形式,形成的是匿名子類對象。 ...
匿名內部類是內部類的簡寫格式。
定義匿名內部類的前提:
內部類必須是繼承一個類或者實現一個介面。
匿名內部類的格式:
new 父類或者介面()
{
//子類的內容
void method()
{
//具體實現
}
}.method();//.method();之前是創建一個沒有子類名的對象,然後調用方法
父類或者介面 name = new 父類或者介面()
{
//子類的內容
void method()
{
//具體實現
}
void method2() {
//子類自己的方法,不是父類或者介面的方法
}
};//給這個匿名內部類起個名字,放便調用匿名類的方法,體現的是多態,父類引用指向子類對象
name.method();//正確
name.method2();//錯誤,只能使用父類方法,因為父類中沒有method2()方法,所以調用的時候在父類中找不到,這是弊端
其實匿名內部類就是一個匿名子類對象,就是把定義類和建立對象封裝在一起的一種表現形式,形成的是匿名子類對象。