聲明定義的接口:
主體類:
其中接口作為成員變量,在這個主體類的成員方法中調用了這個接口的抽象方法,會自動找到這個這個接口實現類的覆蓋重寫的方法,避免多個實現類不同的覆蓋重寫,所以如果用實現類類實現的話都是直接傳參該實現類就行;
其中,用實現類的時候,入參為接口的時候直接傳入它的實現類,jvm會自動實現向上轉型,繼承和實現都有向上轉型,原理可以看作一樣;但是java是單繼承、多實現的;
實現類只使用了一次,可以使用匿名內部類;
匿名內部類創建出來的對象也只調用了一個方法,可以使用匿名內部類的匿名對象;