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

来源:互联网 发布:lua5.3 windows 下载 编辑:程序博客网 时间:2024/04/30 00:33

------- < <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();}}


原创粉丝点击