JavaSE学习01

87 阅读1分钟

多态性

多态是运行时行为。 编译看左边,运行看右边。

多态,只有等到方法调用的那一刻,解释运行器才会确定所要调用的具体 方法,这称为“晚绑定”或“动态绑定”。

引用一句Bruce Eckel的话:“不要犯傻,如果它不是晚绑定,它就不是多态。”

多态作用:提高了代码的通用性,常称作接口重用

前提:需要存在继承或者实现关系,有方法的重写。

成员方法:编译时,要查看引用变量所声明的类中是否有所调用的方法。 运行时,调用实际new的对象所属的类中的重写方法。

成员变量:不具备多态性,只看引用变量所声明的类。

从子类到父类的类型转换可以自动进行 从父类到子类的类型转换必须通过造型(强制类型转换)实现 无继承关系的引用类型间的转换是非法的

若子类重写了父类方法,就意味着子类里定义的方法彻底覆盖了父类里的 同名方法,系统将不可能把父类里的方法转移到子类中。 对于实例变量则不存在这样的现象,即使子类里定义了与父类完全相同的 实例变量,这个实例变量依然不可能覆盖父类中定义的实例变量

ps:因为之前学了一点,所以文章在多态这里开始