重载(overloading)和重写@Override

一.重写:@Override
定义:字类方法覆盖父类方法,通俗来说就是方法里面的内容可以不一样,其他都一样。
(1)必须保证权限大于等于父类的权限public>protetcted>默认>private
(2)返回值类型,函数名和参数列表都要一模一样
(3)父类private的方法,字类无法继承,不存在重写
声明为final的方法不能被重写
声明为static的方法不能被重写
(4)返回值类型(子类方法的返回值类型<=父类)
二.重载
定义:重载(overloading) 是在一个类里面,方法名字相同,而参数不同。返回类型可以相同也可以不同。
比较常用的是构造器的重载
(1)被重载的方法必须改变参数列表(参数个数或类型或顺序不一样);
(2)被重载的方法可以改变返回值类型
(3)可以改变访问修饰符
(4)方法能够在通过一个类中或者在一个字类中被重载
(5)无法以返回值类型作为重载函数的区分标准

区别点           重载方法                  重写方法
参数列表      必须修改                  一定不能修改
返回类型     可以修改        一定不能修改
异常            可以修改      可以减少或删除,一定不能抛出新的或者更广的异常
访问           可以修改     一定不能做更严格的限制(可以降低限制)

你可能感兴趣的:(重载(overloading)和重写@Override)