5.6.2 重写父类的方法

本文通过具体的Java代码示例介绍了方法重写(Override)的概念及其应用,并对比了方法重写与方法重载(Overload)的区别。文章强调了在进行方法重写时需要遵循的两同两小一大原则。
package chap5_6;

public class Bird {

    public void fly(){
        System.out.println("我在天空自由自在地飞翔");
    }
}
package chap5_6;

public class Ostrich extends Bird {
    @Override
    public void fly() {
        // TODO Auto-generated method stub
        //super.fly();
        System.out.println("我只能在地上奔跑");
    }
    public static void main(String[] args)
    {
        Ostrich os=new Ostrich();
        os.fly();
    }

}

运行结果

我只能在地上奔跑

这种子类包含与父类同名方法的现象被称为方法重写(Override)
两同两小一大原则:
两小指的是子类方法返回值类型应比父类方法返回值类型更小或相等,子类方法声明抛出的异常类应比父类方法声明抛出的异常类更小或相等,一大指的是子类方法的访问权限应比父类方法的访问权限更大或相等。
如果需要在子类方法中调用父类中被覆盖的方法,则可以使用super或者父类类名作为调用者来调用父类中被覆盖的方法。
如果父类方法具有private访问权限,则该方法对其子类是隐藏的。
Override和Overload
重载主要发生在同一个类的多个同名方法之间,而重写发生在子类和父类的同名方法之间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值