多态
在面向设计的程序语言中,多态是继数据抽象和继承之后的第三种基本特征。
静态方法不具有多态性。
构造器也不具备多态性(实际上是static方法,只不过是隐式的)
初始化的实际过程:
- 在其他任何事务发生之前,将分配给对象的存储空间初始化成二进制的零
- 调用基类构造器
- 按声明顺序调用成员的初始化方法
- 调用导出类的构造器主体
在构造器内唯一能安全调用的方法是基类中的final方法(也适用于private方法,他们自动属于final方法)
第九章接口
创建抽象类是希望通过这个通用接口操纵一系列类。
abstaract void f();
如果从一个抽象类继承,并想创建该新类的对象,那么就必须为基类中的所有抽象方法提供方法定义。如果不这样做(可以不这样做),那么导出类便也是抽象类,且编译器将会强制用abstract关键词来限定这个类。
通过继承,可以在接口中添加新的方法声明,还可以通过继承在新接口中组合数个接口。
一般情况下,extends用于单一类,但可以引用多个基类接口。
接口允许同一个借口具有多个不同的实现。
放入接口中的任何域都是static和final的,所以常用来创建常量组。但是他们不是接口的一部分,他们的值被存储在该接口的静态存储区域内。
接口可以嵌套在类或其他接口中。(好像没啥用)
策略设计模式:一个可以根据所传递的参数对象的不同而具有不同行为的方法。