Java笔记--Overload(重载)和Override(重写)的区别

时间:2022-01-07 09:20:19

重载Overload:在同一个类中,允许存在一个以上的同名函数,只要他们的参数个数或者参数类型不同即可。它的特点就是与返回值类型无关,只看参数列表。

重写Override:子类中的方法可以与父类中的某个方法的名称和参数完全相同,通过子类创建的实例对象调用这个方法时,将调用子类中定义的方法,这相当于把父类中定义的那个完全相同的方法给覆盖掉了。

需要注意的是:
(1)如果父类的方法是private类型,则子类中根本不存在重写,即子类中和父类的private的同名的方法没有重写的关系,因为private的访问权限只限于同一类中,而子类就不会访问到private的方法,所以是子类中增加的一个全新的方法。
(2)因为重载的特点就是与返回值无关,只看参数列表,所以重载是可以改变返回值类型的。但是如果两个方法的参数列表完全一样,是不能通过让他们的返回值类型不同来实现重载的

重载和重写最简单的区别方法就是看是否在一个类中,一个类中的叫重载,多个类中叫重写