比如Father fson = new Son(); 中,
情况1:fson调用函数funcA("haha"),这个函数在父类中有定义funcA(Object s),同时子类中重载了这个方法funcA(String s),但是实际调用的是父类中的funcA;
情况2: 当调用父类中定义的静态方法时,调用的也是父类的,即使子类中有同名的方法也不行。
这个的原理是什么呢?向上转型和静态绑定之间的关联又是什么呢???
比如Father fson = new Son(); 中,
情况1:fson调用函数funcA("haha"),这个函数在父类中有定义funcA(Object s),同时子类中重载了这个方法funcA(String s),但是实际调用的是父类中的funcA;
情况2: 当调用父类中定义的静态方法时,调用的也是父类的,即使子类中有同名的方法也不行。
这个的原理是什么呢?向上转型和静态绑定之间的关联又是什么呢???
额,这个吧,1.子类应该不叫重载,叫重写(override),2.调用普通方法的时候,怎么可能是调用父类的呢?
在多态中,
一、如果是方法的话,是编译看父类,运行看子类的(就是说子、父类中都有这个方法才能编译通过,到了运行的时候执行子类的方法)
二、如果是变量或者静态方法的话,是编译看父类,运行看父类的
我也是小白,仅供参考,共同进步,哈哈