java语言中的动态绑定问题求解

/请简单易懂的描述一下java中的多态性的动态绑定机制。并举例说明

多态其实就是同类型的对象,执行同一个行为,会表现出不同的行为特征。
1、常见形式
父类类型 对象名称 = new 子类构造器;
接口 对象名称 = new 实现类构造器;
2、前提
有继承/实现关系
有父类引用指向子类对象
有方法重写
3、动态绑定主要是指的方法的调用
简单来说就是:编译看左边,运行看右边
比如:父类Person有个public方法eat(),其子类Man重写了该方法,定义对象时Person p = new Man();即父类引用指向子类对象,则在执行p.eat()时,会调用子类Man重写的eat()方法。
简单来说就是在编译器编译阶段是看的 = 左边的类,但是在运行时,实际调用的方法是右边的类的。

https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&tn=baidu&wd=java%E4%B8%AD%E7%9A%84%E5%A4%9A%E6%80%81%E6%80%A7%E7%9A%84%E5%8A%A8%E6%80%81%E7%BB%91%E5%AE%9A%E6%9C%BA%E5%88%B6&oq=Mozilla%2520Firefox&rsv_pq=fd5fd4730014d525&rsv_t=8172%2BJg1lt2aJ7K7Z7bSAqYG59xdof0UviYl2j3q1rrcE6YcN1lSRmTwd%2FQ&rqlang=cn&rsv_enter=1&rsv_dl=tb&rsv_n=2&rsv_sug3=1&rsv_sug1=1&rsv_sug7=100&rsv_sug2=0&rsv_btype=t&inputT=1152&rsv_sug4=1152

多态就是方法或对象具有多种形态,是OOP的第三大特征,是建立在封装和继承和父类引用可以指向子类对象基础之上
方法多态可以通过Override、Overload体现多态
只有调用对象的override方法时,在运行期判断引用对象的实际类型,根据实际类型调用相应的方法,overload方法由于参数列表不同载编译期就可以
判断出具体调用方法,它属于静态绑定

静态绑定发生在编译时,动态绑定发生在程序执行时。