使用匿名內部類的目的:因為介面和抽象類都不能例項化物件,
使用匿名內部類的方式構造介面、例項化物件(只要是抽象的,不管是抽象類還是介面,都可以通過匿名內部類的方式訪問)
情況一: 介面、抽象類使用:相當於不用特意去寫乙個類去實現這個介面的方法,直接在例項化的時候就寫好這個方法(介面、抽象類不能例項化,所以採用匿名內部類的方式來寫)
介面用匿名內部類:
抽象類用匿名內部類:
情況二:當介面作為引數放在方法體裡的時候,用new 介面()的方式來例項獨享,則匿名內部類必須要實現這兩個方法,如下
這是介面:
ps:其實這種使用匿名內部類的方式等同於,定義乙個蘑菇類,實現水果結構的getname() 和panlt() 方法,然後農民類父類引用指向子類,也可以達到同樣的效果。
Java匿名內部類的兩種經典用法
匿名內部類是在單一表示式內定義的巢狀類。因為這些類沒有名稱和建構函式,所以稱為匿名類。它們只能訪問最終方法變數和引數。class inner class bank abstract class customer public inte ce accountable public class acco...
java中匿名內部類的兩種實現方式
使用匿名內部類課使 更加簡潔 緊湊,模組化程度更高。內部類能夠訪問外部內的一切成員變數和方法,包括私有的,而實現介面或繼承類做不到。然而這個不是我說的重點,我說的很簡單,就是匿名內部類的兩種實現方式 第一種,繼承乙個類,重寫其方法 第二種,實現乙個介面 可以是多個 實現其方法。下面通過 來說明 pu...
內部類 內部類的訪問 匿名內部類
內部類 將乙個類定義在另乙個類的裡面,對立面那個類就成為內部類 內建類,巢狀類 定義 當描述事物時,事物的內部還有事物,該事物用內部類來描述。因為內部事務在使用外部事物的內容。舉例子心臟 內部類的訪問規則 1內部類可以直接訪問外部類中的成員,包括私有。之所以可以直接訪問外部類的成員 因為內部類中持有...