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。