java重写Override 重载Overload

 

java重写Override 重载Overload

重写是子类对父类的允许访问的方法的实现过程进行重新编写,返回值和形参都不能改变。即外壳不变,核心重写

 

重写规则:

参数列表与被重写方法的参数列表必须完全相同

返回类型与被重写方法的返回类型可以不相同,但是必须是父类返回值的派生类

访问权限不能比父类中被重写的方法的访问权限更低  访问权限:public > protected > private

父类的成员方法只能被它的子类重写

声明为final的方法不能被重写

声明为static的方法不能被重写,但是能够被再次声明

子类和父类在同一个包中,那么子类可以重写父类所有方法,除了声明为private和final的方法

子类和父类不在同一个包中,那么子类只能够重写父类的声明为public和protected 的非final方法

重写的方法能够抛出任何非强制异常,无论被重写的方法是否抛出异常。但是,重写的方法不能抛出新的强制性异常,或者比被重写方法声明的更广泛的强制性异常,反之则可以

构造方法不能被重写

如果不能继承—个类,则不能重写该类的方法

 

super关键字

子类中调用父类的被重写方法需要使用

 

 

Overload

重载是在一个类里面,方法名字相同,而参数不同。返回类型可以相同也可以不同

每个重载的方法(或者构造函数)都必须有一个独—无二的参数类型列表

重载规则:

被重载的方法必须改变参数列表(参数个数或类型不—样)

被重载的方法可以改变返回类型

被重载的方法可以改变访问修饰符

被重载的方法可以声明新的或更广的检查异常;方法能够在同—个类中或者在一个子类中被重载。无法以返回值类型作为重载函数的区分标准

 

重写是父类与子类的多态体现,重载是多态的体现

 

posted @ 2021-10-07 22:55  kuaiquxie  阅读(34)  评论(0)    收藏  举报