Java-继承:重载与重写的区别

一、重写(Override)
子类继承父类,子类重写父类中的所有公共方法,覆盖父类的方法并对其重写。
注意事项:
重写前后方法名相同;参数列表相同; 返回值相同
子类重写的方法所抛出的异常必须与父类中的被重写方法的异常一致,或者不能比父类的异常范围更大。
父类的私有方法不能被重写,如果子类非要写这个同名方法,只是定义了一个与父类方法相同的新方法,而并不是重写父类的方法。
子类重写方法的访问权限不能低于父类方法中的访问权限,即子类的访问权限可以>=父类。j举个例子:父类是public 子类也可以是public,但是不可以是private;父类是private,子类可以是public或者private等等,只要比private权限大的都可以。

二、重载
重载是多态性的一种表现。重载是指在一个类中定义了多个同名的方法,但他们的参数列表是不同的,也就是说有不同的参数个数或有不同类型的参数类型。
注意事项:
重载是通过方法中参数的不同来区分的,包含参数个数、参数类型、参数顺序等等。
如果父类方法访问权限为private,那么子类就不能对其进行重载;如果子类写了这个同名的方法,那只是定义了一个与父类方法相同的新方法,并不会得到重载的效果。

三、重载与重写的区别
重写时子类继承父类的方法,涉及到两个类;重载是同一个类方法之间的关系,只是参数或者参数类型不同,在一个类中。
重写的参数列表相同,重载的参数列表不同。

posted @ 2023-12-28 17:24  她的回眸一直很美  阅读(61)  评论(0)    收藏  举报