4.10 重写、重写与重载的区别 -【Java入门--疯狂Java讲义】

重写(Override)是在子类重写父类的方法,以满足子类的特殊要求。

我们有这样的需求:Bird是所有鸟的父类,父类有一个fly方法,表示飞翔,但是不是所有的鸟都有飞翔的能力,就像鸵鸟就不可以飞翔,这样,我们就需要对fly方法进行重写,

class Bird{
	public void fly(){
		System.out.println("自由自在的飞翔...");
	}
}

class Ostrich extends Bird{
	public void fly(){
		System.out.println("我不会飞,但是会跑");
	}
}

class LittleBird extends Bird{}
	
public class Test05 {
	public static void main(String[] args) {
		Ostrich ostrich = new Ostrich();
		ostrich.fly();//我不会飞,但是会跑
		LittleBird lb = new LittleBird();
		lb.fly();//自由自在的飞翔...
	}
}

实现重载要符合以下的要求:

“两同两小一大”:方法名相同、参数相同、子类的返回值类型要比父类的更小(具体)、子类抛出的异常要比父类的更小(具体)、子类的访问权限要比父类的大(宽泛);

实现重写后,父类的方法子类的实例无法再调用;

实现重写后,子类的方法可以借助super关键字(下一更新会接触到)调用父类的方法;

父类的private方法不可以重写,因为不能访问到。


重写(Override)与重载(Overload)的区别:

两者本来就没有联系,在面试的时候遇到这个问题的话,分别叙述两者的特点即可。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值