重载 与 重写
重载
目的:
方法重载是让类以统一的方式处理不同类型数据的手段。调用方法时通过传递给他们不同个数不同类型的参数来决定具体使用哪个方法。
定义:
指一个类中,多个方法方法名相同,但是参数列表不同(参数个数、参数类型或者参数的顺序不同)
重载注意点:
- 不能通过访问权限、返回类型、抛出的异常进行重载
- 方法的异常类型和数目不会对重载造成影响
重写
目的:
在Java继承关系中,子类继承父类,它具备了父类所有的特征,继承了父类所有的方法和变量,当子类需要定义新的特征时,我们就可以通过修改从父类继承的方法进行扩展。
定义:
指子类中的方法与父类中继承的方法有完全相同的返回值类型、方法名、参数个数以及参数类型
重写注意点:
- 父类方法的返回类型、参数列表(个数、类型、顺序)必须与被子类重写的方法相同,否则不能称为重写,而是重载
- 在继承过程中如果父类当中的方法抛出异常,那么在子类中重写父类的该方法时,也要抛出异常,而且抛出的异常不能多于父类中抛出的异常(可以等于父类中抛出的异常)
- 被子类重写的方法不能拥有比父类方法更加严格的访问权限
- private 修饰的方法,子类没法进行重写
- final 修饰的方法,子类可以继承,但是没法进行重写
- static 修饰的方法,子类没法进行重写。如果子类增加了一个和父类一样的方法,在对象声明时 用父类声明 子类实例化,再调用static修饰的方法时调用的方法时父类中的static方法,而不是子类中的该方法
参考链接: