比如我們突然需要使用乙個介面中的方法,但是只需要使用一次,傳統做法是這樣的:在類中宣告乙個靜態內部類,該類實現介面,也就實現了介面中定義的抽象方法。然後在類中呼叫這個類,使用該方法:
class anonymousclass
}public static void test01(aaa a)
public static void main(string args)
}inte***ce aaa
上面的方法雖然可行,但該類只使用了一次,難免會造成資源浪費。所以引入了匿名內部類,匿名內部類不需要具體的類名,只需要在呼叫時重寫需要實現的方法即可,這樣就使**變得簡潔:
/**
* 匿名內部類
*/public class anonymousclass
public static void main(string args)
});}
}// 定義aaa介面,裡面有抽象方法test01
inte***ce aaa
內部類 匿名內部類的使用
內部類的使用 classouter classinner public voidget a a public voidtest this.get newa public voidfun1 system.out println i public classtest public static void...
匿名內部類的使用
匿名內部類通常用於簡化 的編寫,使用匿名內部類還有個前提條件 必須繼承乙個父類或實現乙個介面 之前對於new了乙個介面或者抽象類不是很理解,現在知道 因為沒有名字,也就沒有建構函式,所以只能通過顯示呼叫父類函式建立匿名內部類。還有關於匿名內部類使用外部類變數作為形參傳入時需要用final修飾,在網上...
匿名內部類的使用
使用匿名內部類可以少些乙個對介面的實現類 1.建立乙個介面 public inte ce myinte ce 2.使用匿名內部類 匿名內部類的定義格式 介面名稱 物件名 new 介面名稱 public static void main string args obj.method 3.執行結果 匿名...