多态与Object类
多态
多态变量,有两个类型:一个是它的声明类型,一个是它的动态类型,它的声明类型永远是那个类型,它的动态类型这次拿到是什么,就是什么类型
函数调用的绑定
当通过对象变量调用函数的时候,调用哪个函数这件事情叫做绑定
静态绑定:根据变量的声明类型来决定
动态绑定:根据变量的动态类型来决定
在成员函数中调用其他成员函数也是通过this这个对象变量来调用的
覆盖override
子类和父类中存在名称和参数表完全相同的函数,这一对函数构成覆盖关系
通过父类的变量嗲用 存在覆盖关系的函数时,会调用变量当时所管理的对象所属的类的函数
你是一个Shape,你就应该会draw,那么,你就去 draw吧,这个就叫做多态;
所谓多态,指的就是通过一个变量去调用一个函数
Object类
java呢,实现了一个单根结构,就是说,在Java当中所有的类,不管你愿意不愿意,声明不声明,这些类一定都是一个叫做Object的子类
这个Object就是java的类型系统中的那个root(根),这个叫做单根结构
所有的类都是继承自Object类
Object类的函数
toString()
equals()