我们都知道java有方法重载的功能。
主要就是参数不同的意思。
但是一个参数是父类一个参数是子类,那么这也可以重载么?
我试了一下,没有报错,但是我很疑惑,这个情况下传入子类,那调用的是参数是父类的还是参数是子类的方法呢?
八大基本类型也可以算是方法重载的参数么?
那么包装类和基本类型可以重载么?走的又是谁呢?
优先匹配类型一致的那个方法,如果没有,将参数的类型向上升级为其父类,继续匹配;如果最终都没有匹配到合适的方法,则报错;
所以一个方法有2个重载方法,一个参数为子类,一个方法参数为该子类的父类时,如果参数为该子类,优先调用参数为子类的方法;
重载是发生在一个类里面,案例:封装类里面的构造方法
父类与子类没有重载,子类只不过是继承了父类里的方法,如果修改父类里面的方法(修改方法里的内容)就是重写方法
如果你修改父类继承的方法里的参数,那就不叫重写了,和父类也毫无关系,那叫你自己在子类定义的一个方法,不要和重载混为一谈