绑定
1、前期绑定
2、后期绑定:Java中除了static和final方法外,其他所有的方法都是后期绑定
后期绑定是实现继承与多态必不可少的机制:多态对应的是不同的对象对于同一个事件有不同的行为
多态的缺陷:
1、覆盖"私有方法":只有非private方法才可以被覆盖
2、域与静态方法:向上转型为基类后,无法通过基类动态加载导出类的域,因为任何域的访问操作都将由编译器解析,因此不是多态的。
3、静态方法也不具有多态性,因为静态方法是与类相关联的,而并非与单个对象相关联。
4、构造器是隐式的static方法
5、构造器内部的多态方法
6、编写构造器时的一条有效的准则:用尽可能简单的方法使对象进入正常状态,如果可以的话,避免调用其他方法,在构造器内唯一能够安全调用的那些
方法是:private方法,隐式的为final方法,因为final方法不会为子类重写。
7、运行时类型识别(RTTI):向下转型时,进行一次普通的加括号转换类型,如果不是我们希望的那种类型,则发出ClassCastException(类型转换异常)