OCP原则:开闭原则:对扩展开放,对修改闭合。java
java三大特性之一spa
引用类型有编译时类型和运行时类型。编译时类型是声明时的类型,运行时类型是实际赋给对象的值的时候的类型。当编译类型和运行类型不一致时,就会引起多态。子类在继承父类时,一段代码可能有不一样的实现。
对象
向上转型:java中容许把一个子对象直接赋值给父类引用类型,而不发生任何类型转换,由系统自动转换。继承
当运行时调用该对象方法时,老是显示出子类对象的特性而不是父类对象的特性(能够理解为调用子类的方法,前提是在父类中定义了相同的方法)。使用多态时,不能调用在父类中没有声明的子类的方法。
编译
对象的实例变量不具有多态性,调用时会调用父类的实例变量而不是子类的(当子类中有同名变量时)。变量
多态:一份代码、多种形态,以一当十,以一当百..扩展
多态:实例方法的动态绑定,根据运行时传入对象的不一样,调用不一样对象的不一样方法.引用
好处:需求变了,不用改代码(也不用加代码).方法
重载:静态联编(静态绑定、前期绑定) 编译时决定了到底调用哪一份代码类型转换
绑定:调用哪一个方法 和具体调用哪一个方法体的代码 联系起来 ,叫绑定
多态:动态联编(动态绑定、后期绑定) 运行时决定到底调用哪一块代码