类的重写与方法的重载

联系:

同名方法,都是多态性的体现。重载是编译时多态,重写是运行时多态。

重写

子类对父类的方法进行重新编写 (不满意父类的方法)

要求:

  1. 两者的方法名和参数列表相同

  2. 子类的访问权限大于等于父类的

  3. 子类的返回值类型小于等于父类的

public class Demo extends Object {

    protected String getString() {
        return "father";
    }

    public Demo met() {
        System.out.println("123");
        return new Demo();
    }

}

class Son extends Demo {

    // 权限修饰符:子>=父
    public String getString() {
        return super.getString();
    }

    // 返回类型:子<=父
    @Override
    public Son met() {
        Demo met = super.met();

        return new Son();
    }
}

重载

便于记忆( 以统一的方式处理不同数据类型)

  1. 重载判定:参数列表必须不同(参数个数、类型和顺序)

  2. 无效判定:访问修饰符、返回类型

比如:三者两两之间不构成重载

public void a() {
}

private void a() {
}

private int a() {
    return 1;
}
posted @ 2021-10-18 14:38  egu0o  阅读(130)  评论(0编辑  收藏  举报