java-方法覆盖

方法覆盖(Override):子类用特殊的方法实现,替换掉父类继承给它的方法实现。

语法:方法名相同,参数表相同,返回值类型相同,访问修饰符相同或更宽。

例子:(动物和狗)狗 is a 动物

代码:

package day09;

public class TestInheritance {
    public static void main(String[] args) {
        Dog d = new Dog();
        d.eat();
    }
}

class Animal {
    private int age;
    String name;

    public void eat() {
        System.out.println("Animal eat");
    }

    public void sleep() {

    }
}

class Dog extends Animal {
    private String name;

    public void eat() {
        System.out.println("Dog eat");
    }

    public void shout() {
        System.out.println("Wang wang");
    }
}

运行结果:

结果分析:在主程序入口里,创建了狗的实例,调用了狗的吃方法,虽然狗的父类有这个方法,但是狗也有吃方法,就调用了自己的方法。结果输出Dog eat。

posted @ 2020-10-04 19:39  SpringChuXin  阅读(242)  评论(0编辑  收藏  举报