【Java学习笔记】方法重写

方法重写(Override)

方法重写也成为方法覆盖

应用:子类和父类中的方法名、形参、返回类型一样,则称子类的整个方法覆盖了父类的方法


使用细节

  • (1)子类方法的形参列表方法名称,要和父类方法的形参列表方法名称完全一样

  • (2)子类方法的返回类型和父类方法返回类型一样,或者是父类返回类型的子类,例如:String子类的返回类型,父类的返回类型是Object,这也构成了方法的重写

  • (3)子类的方法不能缩小父类方法的访问权限,即可以扩大或者和父类的访问权限一致

    • 关系:public > protected > 默认 > private


代码示例

//父类
package praoveride;

public class father {
    private void show() {
        System.out.println("调用了父类中访问权限为private的show()方法");
    }
}

//子类
package praoveride;

import prac.father;

public class son extends father {
    public void show() {
        System.out.println("调用了子类的show()方法");
    }
}

//主类
package praoveride;

public class main {
    public static void main(String[] args) {
        son son = new son();
        son.show();
    }
}

代码说明

  • 父类使用private访问权限,子类使用public访问权限,子类可以扩大父类的访问权限或者相同,但是不能缩小父类的访问权限

  • 子类的方法和父类的show()方法构成了方法重写,优先在子类中寻找是否有show()方法如果没有就找到上一级(直到Object),直到找到了show()方法就调用,如果都没有则报错


方法重写和方法重载的比较

名称发生范围方法名形参列表返回类型修饰符
重载(overload)本类必须一样类型、个数或者顺序至少有一个不同无要求无要求
重写(override)父类必须一样相同子类重写的方法,返回的类型和父类返回的类型一致,或者是其它类子类方法不能缩小父类方法的访问范围
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jackson凌

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值