动态绑定就是多态。
Class1继承了Class2,Class2继承了Class3,一直到Class[n-1]。定义Class1的对象。
Class1 class1Test = new Class1();
class1Test.funtionName();
编译器就会从Class1开始寻找这个方法,如果在Class1中不存在,就会去Class2中寻找,直到找到为止,然后执行此方法。
A a =new B();
a.print(); //print函数为B重写方法。
此时,a会调用B中的print方法。
B b=new C();
a=b;
a.print();
此时,a会调用C中的print方法;如果C中并没有对print方法进行重写,那么会调用B中的方法。
不能使用父类实例去初始化子类的实例。