黑马程序员_重写父类/super限定

------- < <a href="http://www.itheima.com" target="blank">android培训</a>、< android培训"><期待与您交流! ----------

 

 

/*
重写父类的方法
子类扩展父类,子类是一个特殊的父类,大部分时候,子类总是
以父类为基础,额外增加新的Field和方法。但是有一种情况例外
:子类需要重写父类的方法。例如鸟类都包含了飞翔方法,其中
鸵鸟是一种特殊的鸟,因此鸵鸟也是鸟的子类,因此它也从鸟类
获得飞翔方法,但是这个飞翔方法明显不适合鸵鸟,为此,要重
新写鸟类。

*/

//先定义一个Bird类
class  Bird
{
	//Bired类的fly方法
	public void fly()
	{
		System.out.println("我在自由的飞翔");
	}
}
	
//定义一个Ostrich类,这个类扩展了Bird类,重写了Bird类的fly方法。
/*
这种子类包含与父类同名方法的现象被称为方法重写,也被称为方法
覆盖。可以说子类重写父类的方法,也可以说子类覆盖父类的方法。


super限定
如果需要在子类方法中调用父类被覆盖的方法的实例方法,则可以使用
super限定来调用父类被覆盖的实例方法。为上面的Ostrich类添加一方法,
在这个方法中调用Bird类覆盖的fly方法。

super用于限定该对象调用它从父类继承得到的Field或方法。
super不能出现在static修饰的方法中,static修饰的方法是属于
类的,该方法的调用者只能是类,而不是对象。

*/
public class Ostrich extends Bird
{
	//重写Bird类的fly方法
	public void fly()
	{
		System.out.println("我只会在地上跑");
	}
	public static void main(String[] args)
	{
		//创建Ostrich对象
		Ostrich os=new Ostrich();
		//执行Ostrich对象的fly方法,将输出“我只会在地上跑”
		os.fly();
	}
	public void callOverloadMethod()
	{
		//在子类方法中通过super显示调用父类被覆盖的实例方法
		super.fly();
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值