fantasticDream

面向对象编程----方法的重写(override)

方法的重写override

在子类中可以根据需要对从基类中继承来的方法进行重写。

重写方法必须和重写方法具有相同方法名称参数列表返回类型

重写方法不能使用比被重写方法更严格的访问权限(由于多态) 

重载一个方法名可以对应多个方法,因为形参列表不同。

重写和重载是两码事。

package cn.bjsxt.oop.inherit; 

public class Animal /*extends Object */{

String eye;

public void run() {

System.out.println("咳咳咳!");

}

public void eat() {

System.out.println("色块!");

}

public void sleep() {

System.out.println("干饭!");

}

}

 

class Mammal extends Animal {

public void taishang() {

System.out.println("洛赛克!");

this.run();

this.eat();

}

}

 

class Paxing{

String eye;

public void run() {

System.out.println("咳咳咳!");

}

public void eat() {

System.out.println("色块!");

}

public void eggSheng() {

System.out.println("了空间!");

}

}

 

class Bird extends Animal{

String eye;

// 重写 子类需要 自己扩展把原先父类的方法重新编译

// 在这里把run()覆盖掉之后,实际上还存在可以再继承后的子类的方法中继续调用

public void run() {

在这里可以通过super.run()调用父类被子类覆盖的方法run()。

super.run();

System.out.println("我是我是一只鸟,我会飞!");

public void eggSheng() {

System.out.println("了空间!");

  }

}

package cn.bjsxt.oop.inherit;

public class Test {

public static void main(String[] args) {

创建一个实例化对象

Bird b = new Bird();

调用重写后的run()方法

b.run();

调用父类中的方法eat()

b.eat();

b.eggSheng();

}

}

posted on 2022-05-25 20:32  神奇的梦  阅读(61)  评论(0)    收藏  举报

导航