本文共 1485 字,大约阅读时间需要 4 分钟。
重载是同一类中,方法名相同,参数列表不同的一组方法的定义。
(子类可以重载父类的方法) 每个重载的方法(或者构造函数)都必须有一个独一无二的参数类型列表。重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。即外壳不变,核心重写!
重写的好处在于子类可以根据需要,定义特定于自己的行为。也就是说子类能够根据需要实现父类的方法。//声明为static的方法不能被重写,但是能够被再次声明。示例class Animal { public static void walk() { System.out.println("Animal行走方法"); }}public class Horse extends Animal { /* public void walk() { //这样重写会报错 System.out.println("Horse四条腿行走"); }*/ public static void walk() { //需要加上static再次声明 System.out.println("Horse四条腿行走"); } public static void main(String [] args) { new Horse().walk(); }}
强制性异常:所谓强制性异常就是在编写程序的过程中必需在抛出异常的部分try catch 或者向上throws异常。
非强制性异常:所谓非强制性异常就和上面相反了。不过你当然也可以try catch或者thows,只不过这不是强制性的。
区别点 | 重载方法 | 重写方法 |
---|---|---|
参数列表 | 必须修改 | 一定不能修改 |
返回类型 | 可以修改 | 一定不能修改 |
异常 | 可以修改 | 可以减少或删除,一定不能抛出新的或者更广的异常 |
访问 | 可以修改 | 一定不能做更严格的限制(可以降低限制) |