2.2 override 与 overload
重写是对父类的方法进行重写,重载是对同一个类中已存在的方法进行的重载。
这是重写
abstract class Demo1 {
public abstract void method1();
public void method2(){
}
}
public class Demo2 extends Demo1 {
@Override
public void method1() {
}
@Override
public void method2(){
}
}
注意,重写的权限修饰符不能小于父类方法的权限修饰符。啥意思呢?
就是父类Demo1的method1是用public修饰的,在子类Demo2中重写的method1不能用小于public的protected,private修饰
这是重载
class Demo1 {
public void method2(int i){
}
public void method2(int j,int i){
}
}
注意,重载的返回值必须一样,权限修饰符可以不同,但只有权限修饰符不同,不能作为区分的条件。
只有参数不同才能作为重载的条件