重写与重载
重写(Override)
发生在继承关系当中。子类重写父类在方法声明上完全相同的方法。
为了满足里氏替换原则,重写有三个限制:
1. 子类方法访问权限必须大于等于父类方法。
2. 子类方法返回类型必须是父类方法返回类型或其子类型。
3. 子类方法抛出的异常类型必须是父类方法抛出异常类型或其子类型。
使用@Override注解,让编译器帮忙检查是否满足上面三个条件。
重载(Overload)
发生在同一个类中,一个方法与已经存在的一个方法名称上相同,方法的参数类型,参数个数,顺序至少有一个不同。其他相同返回值不同的不算重载。
发生在继承关系当中。子类重写父类在方法声明上完全相同的方法。
为了满足里氏替换原则,重写有三个限制:
1. 子类方法访问权限必须大于等于父类方法。
2. 子类方法返回类型必须是父类方法返回类型或其子类型。
3. 子类方法抛出的异常类型必须是父类方法抛出异常类型或其子类型。
使用@Override注解,让编译器帮忙检查是否满足上面三个条件。
重载(Overload)
发生在同一个类中,一个方法与已经存在的一个方法名称上相同,方法的参数类型,参数个数,顺序至少有一个不同。其他相同返回值不同的不算重载。
