1、interface產生一個完全抽象的類,無任何實現,interface代替class
使子類能夠向上轉型成爲多種基類,實現多重繼承
2、接口:所有實現該接口的類看起來都像他
接口被用來建立類與類之間的協議
接口中的方法都是public的。
3、多繼承:可繼承任意多個接口,可以向上轉型爲多個基類
接口只能繼承接口。
4、通過繼承擴展接口
5、接口中放入羣組常量
6、內部類
內部類與組合不同
作用:可將內部類向上轉型爲接口。此內部類(某個接口的實現)對外隱藏,得到的只是指向接口的引用
內部類可有private和protected權限隱藏代碼。
7、匿名內部類
8、用匿名內部類在外部定義對象,參數引用應是final
9、內部類對象能訪問外圍類的所有成員
10、嵌套類:如果不需要內部類與外部類有聯繫,將內部類聲明爲static
因爲普通內部類隱式包含引用指向外圍類。
11、引用外圍類對象
必須用外圍類對象來創建內部類對象。不可直接在前面加上外圍類名字
12、爲什麼要內部類?
閉包:
內部類是面向對象的閉包,他包含外圍類的信息,還擁有一個指向外圍類對象的引用。因爲內部類有權操作外圍類所有的成員。
第三版P226