1.区别
方法重写是子类对父类继承的方法需要进行进一步的扩大功能,重写是建立在继承关系上的。可以理解为子类覆盖了父类的方法(函数名相同,参数列表相同,返回类型相同,访问修饰符子类>=父类)
如果子类将父类的方法重写了,调用时就是重写的方法,那么还想调用父类的方法,就需要super关键字,super关键字可以从子类访问父类中的内容,如果要访问被重写过的方法,使用“super.方法名(参数列表)”的形式调用。(方法重写的注解**@Override**)
(同一个类)方法重载就是两个函数的函数名一样,但是参数列表不一样。调用时函数会根据参数不同来选择方法。每个方法都可以有不同的返回类型,所以返回类型不足以区分是哪个方法。
方法重写的原理在类的加载过程中对象头中有一个引用变量标记了当前class对象的地址,从而利用class对象在方法区中将重写方法的地址覆盖继承父类方法的地址。