1、interface产生一个完全抽象的类,无任何实现,interface代替class
使子类能够向上转型成为多种基类,实现多重继承
2、接口:所有实现该接口的类看起来都像他
接口被用来建立类与类之间的协议
接口中的方法都是public的。
3、多继承:可继承任意多个接口,可以向上转型为多个基类
接口只能继承接口。
4、通过继承扩展接口
5、接口中放入群组常量
6、内部类
内部类与组合不同
作用:可将内部类向上转型为接口。此内部类(某个接口的实现)对外隐藏,得到的只是指向接口的引用
内部类可有private和protected权限隐藏代码。
7、匿名内部类
8、用匿名内部类在外部定义对象,参数引用应是final
9、内部类对象能访问外围类的所有成员
10、嵌套类:如果不需要内部类与外部类有联系,将内部类声明为static
因为普通内部类隐式包含引用指向外围类。
11、引用外围类对象
必须用外围类对象来创建内部类对象。不可直接在前面加上外围类名字
12、为什么要内部类?
闭包:
内部类是面向对象的闭包,他包含外围类的信息,还拥有一个指向外围类对象的引用。因为内部类有权操作外围类所有的成员。
第三版P226